2011-05-13 25 views
7

Possible Duplicate:
file_put_contents permission deniedfile_put_contents diciendo que se deniega el permiso?

He transferido el servidor recientemente, y parece que file_put_contents no funciona en el nuevo servidor.

Todo es lo mismo, las carpetas están corregidas correctamente, pero por alguna razón no está creando los archivos y poniendo los contenidos en ella.

que han creado una prueba para que las veas, emulando la forma en que actualmente estamos haciendo:

file_put_contents("/home/user/public_html/test/test.progress", "test"); 

el guión está siendo corrió a

/home/user/public_html/test.php 

/test folder is chmodded to 755 (777 makes no difference) 

estoy consiguiendo el error siguiente:

Warning: file_put_contents(/home/user/public_html/test/test.progress) [function.file-put-contents]: failed to open stream: Permission denied in /home/user/public_html/test.php on line 2 

¿Debo cambiar las configuraciones en el servidor para que esto funcione? ¿Qué está mal?

+0

Necesita más información sobre el medio ambiente. –

+2

el servidor está ejecutando probablemente un usuario diferente que el creador de la carpeta/prueba – konsolenfreddy

+0

Cent OS, Linux, Versión del servidor: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 PHP/5.3.6 – Latox

Respuesta

9

Probablemente esté utilizando el usuario incorrecto. Compruebe si php usa el mismo usuario que posee el directorio que está intentando escribir. Php a menudo usa wwwdata así que si el directorio está modificado a 755 significa que el usuario creó el directorio puede escribirlo, pero otros solo pueden leer. chown para el usuario php o chmod a 777.

Personalmente ejecuto php en fastcgi y se ejecuta con un usuario único, así que no tengo este problema, puede pensar en cambiar a fcgi.

+0

Esto se aplica al archivo test.progress también. Si el archivo ya existe, asegúrese de que el usuario de PHP también pueda escribirlo. –

+0

¡El mío fue este problema! - mamp pro, apache/web, etc. se ejecutaba en www/mysql - en lugar de nombre/nombre :) – VeenarM

Cuestiones relacionadas