PHP no puede crear un directorio con mkdir

Tengo un script PHP que funciona previamente y que es capaz de crear un directorio con mkdir :

 $webfolder = "/var/www/html/images/user"; mkdir($webfolder, 0770); 

Realicé algunos cambios en la configuración de permisos de la carpeta /var/www/html/images que ahora es:

 drwxrwx---. myself apache system_u:object_r:httpd_sys_content_t:s0 images 

Creo que anteriormente esta carpeta era propiedad de apache . Pero dado que apache tiene todos los privilegios de leer, escribir y ejecutar como un grupo de usuarios, me pregunto por qué no puede crear una carpeta dentro. El uso de mkdir produce un valor booleano false .

¿El problema se debe a la propiedad del directorio o hay otras razones? Tenga en cuenta que estoy usando PHP versión 5.4.

Registro de errores agregado:

[Lun 17 dic 11:12:34 2012] [error] [cliente 127.0.0.1] Advertencia PHP: mkdir (): Permiso denegado en / var / www / html / upload en la línea 33, referer: https: // mywebsite. com / referer

La respuesta está mirando justo en frente de mí, pero lo echo de menos debido a mi falta de familiaridad con SELinux.

El tipo de contexto SELinux debe establecerse como httpd_sys_content_rw_t lugar de httpd_sys_content_t para que la carpeta sea legible y escribible para apache. Cambiar el contexto de forma recursiva se realiza con el siguiente comando:

 # chcon -R -t httpd_sys_content_rw_t /var/www/html/images 

Buena pena. Espero que ayude a otros que se encuentran con esto.

En CentOS7 VM, con PHP5.4.16 / Apache 2.4.6 / mariadb 5.5.44, el directorio de plantillas smarty no se podía escribir para generar archivos de plantillas comstackdas y estaba dando el siguiente error (en / var / log / httpd / error_log):

 [Thu Mar 31 12:36:08.201383 2016] [:error] [pid 13094] [client 192.168.212.65:52204] PHP Fatal error: Smarty error: unable to write to $compile_dir '/var/www/html/app1/templates_c'. Be sure $compile_dir is writable by the web server user. in /var/www/html/app1/libs/smarty/Smarty.class.php on line 1093 

por lo tanto, la aplicación PHP mostraba una pantalla en blanco.

chmod 777 templates_c tampoco funcionó; pero según la sugerencia de @Question Overflow, el permiso en la raíz web en esta VM solucionó el problema.

Tuve que ejecutar:

 [root@appserver html]# chcon -R -t httpd_sys_content_rw_t /var/www/html 

por supuesto, templates_c y cache deben ser propiedad de un usuario de apache:

 drwxr-xr-x. 2 apache apache 6 Mar 31 12:56 templates_c drwxr-xr-x. 2 apache apache 6 Mar 31 12:56 cache 

Después de pasar más de medio día, se encontró con esto. Gracias