test.php no puede enviar el archivo al sistema de archivos Leopard
-
07-07-2019 - |
Pregunta
¿puedo saber qué permiso debo agregar para permitir que test.php pueda escribir archivos en el sistema de archivos macos?
PHP Error: <br />
<b>Warning</b>: file_put_contents(20090915203127.jpg) [<a href='function.file-put-contents'>function.file-put-contents</a>]: failed to open stream: Permission denied in <b>/Library/WebServer/Documents/testphp/test.php</b> on line <b>8</b><br />
ERROR: Failed to write data to 20090915203127.jpg, check permissions
este es el error que obtengo en leopard, ya chmod ugo + x para test.php
Solución
Hasta donde yo sé, necesita derechos de root para poder escribir directamente en / Library. ¿Es absolutamente necesario escribir en este directorio?
Si solo escribe archivos en su propia cuenta, debajo de / Users / accountname debería funcionar (aunque eso depende del usuario que esté ejecutando el script php).
Otros consejos
No es el archivo que necesita permisos, es el proceso que ejecuta PHP. Suponiendo que esté utilizando (Snow) Leopard en su estado predeterminado, deberá otorgarle al usuario _www permisos de escritura en el directorio dado, o le dará acceso de escritura al mundo (una idea menos sabrosa). Ambos se pueden lograr con una combinación de chown y chmod.
Debe asegurarse de que el usuario con el que se ejecuta el script pueda escribir en el archivo que intenta escribir (es decir, 20090915203127.jpg
, no el script PHP). Si 20090915203127.jpg
no existe, deberá asegurarse de que el directorio al que vaya el archivo sea editable (de forma predeterminada, este será el directorio de trabajo actual).
Es posible que deba leer sobre chmod .
Debe hacer que el archivo / directorio de destino se pueda escribir en el servidor web. test.php no está en eso ...