Alguien sabe PHP?
Alguien sabe PHP?
Tengo un problema con un sitio, a ver si alguien me puede traducir este mensaje de error para entender qué lo causa:
Warning: fopen(engine/cache/news.cache.php) [function.fopen]: failed to open stream: Permission denied in httpdocs\engine\function\cache.php on line 91
Warning: fclose(): supplied argument is not a valid stream resource in httpdocs\engine\function\cache.php on line 93
El archivo en cuestión dice lo siguiente (líneas de la 91 a la 93):
$handle = fopen($this->_file, 'w');
fwrite($handle, $this->_content);
fclose($handle);
Probé cambiando permisos y no hay caso, lo que me hace pensar que hay un problema de sintaxis.
¡De antemano gracias!
Warning: fopen(engine/cache/news.cache.php) [function.fopen]: failed to open stream: Permission denied in httpdocs\engine\function\cache.php on line 91
Warning: fclose(): supplied argument is not a valid stream resource in httpdocs\engine\function\cache.php on line 93
El archivo en cuestión dice lo siguiente (líneas de la 91 a la 93):
$handle = fopen($this->_file, 'w');
fwrite($handle, $this->_content);
fclose($handle);
Probé cambiando permisos y no hay caso, lo que me hace pensar que hay un problema de sintaxis.
¡De antemano gracias!
Re: Alguien sabe PHP?
Parece que hay un problema de path...
Tira el log de apache para ver...
Tira el log de apache para ver...
Re: Alguien sabe PHP?
El path creo que está bien, lo acorté acá por un tema de privacidad. Qué significa eso de file "w"?.
Cuando llegue a la casa me conecto para pedirte asesoría barsamente
(El sitio en sí aparentemente funciona bien).
Cuando llegue a la casa me conecto para pedirte asesoría barsamente
(El sitio en sí aparentemente funciona bien).
Re: Alguien sabe PHP?
No es sintaxis...Walky escribió:El archivo en cuestión dice lo siguiente (líneas de la 91 a la 93):
$handle = fopen($this->_file, 'w');
fwrite($handle, $this->_content);
fclose($handle);
Probé cambiando permisos y no hay caso, lo que me hace pensar que hay un problema de sintaxis.
Agrega la siguiente línea justo antes que ese bloque y cuéntanos qué dice:
echo "ARCHIVO:" . $this->_file . "\n";
¿Será la ruta que supuestamente debiera decir? Es ahí donde ver si hay permisos de escritura.
Re: Alguien sabe PHP?
OkWalky escribió:El path creo que está bien, lo acorté acá por un tema de privacidad. Qué significa eso de file "w"?.
Cuando llegue a la casa me conecto para pedirte asesoría barsamente
(El sitio en sí aparentemente funciona bien).
Re: Alguien sabe PHP?
Que quiere escribir desde cero en el archivo que aparecería en el "echo", es decir, si el archivo existe, se lo pisa. Sobre ese archivo debe existir permisos de escritura para el usuario con el que corre el sitio (IIS, httpd, etc.). Si el archivo no existe, la carpeta donde hay que crear el archivo debe tener permisos de escritura para el mismo usuario.Walky escribió:Qué significa eso de file "w"?
El error en la línea 93 es consecuencia del error en la línea 91. Tal vez la línea 91 debiera decir algo así como:
$handle = fopen($this->_file, 'w') or die "No puedo escribir en ".$this->_file."!!!\n";
Re: Alguien sabe PHP?
el mensaje, segun mi experiencia, es tema de permisos a la carpeta, quizas tienes permiso a la carpeta engine o function, pero quiza esos permisos no estan heredados
prueba darle permisos 777, y luego ve si te arroja el mismo error.
saludos
prueba darle permisos 777, y luego ve si te arroja el mismo error.
saludos
Re: Alguien sabe PHP?
¡Me castigo, me castigo!
Resulta que estaba cambiando permisos al cache.php cuando en realidad debería habérselos cambiado al cache_news.php de la otra carpeta, ahora se arregló el problema
¡Gracias a todos!
Ahora bien, hay otros 3 archivos *_news.php en esa carpeta, me pregunto si habrá que modificarlos también jajaja.
Resulta que estaba cambiando permisos al cache.php cuando en realidad debería habérselos cambiado al cache_news.php de la otra carpeta, ahora se arregló el problema
¡Gracias a todos!
Ahora bien, hay otros 3 archivos *_news.php en esa carpeta, me pregunto si habrá que modificarlos también jajaja.
-
- Mensajes: 1137
- Registrado: Lun Ene 28, 2013 9:52 am
Re: Alguien sabe PHP?
La primera línea habla de permisos (pueden ser de archivo o directorio)
Si estás usando un script no fabricado por ti consulta la documentación sobre los permisos necesarios para que opere.
Si estás usando un script no fabricado por ti consulta la documentación sobre los permisos necesarios para que opere.
Re: Alguien sabe PHP?
Al final los otros archivos quedaron igual que el de news, eran de similar función y con similares errores. Documentación extra no hay y el autor no estaba disponible por varios días. Pero en fin, ya está todo solucionado, y al final uno de los gestores del proyecto se maneja bien con php así que me dijo que cualquier cosa recurra a él. O sea, todo solucionado
Re: Alguien sabe PHP?
una pequeña explicacion de lo que paso que es muy comun,,,
Warning: fopen(engine/cache/news.cache.php) [function.fopen]: failed to open stream: Permission denied in httpdocs\engine\function\cache.php on line 91
Warning: fclose(): supplied argument is not a valid stream resource in httpdocs\engine\function\cache.php on line 93
te esta avisando que cache.php que esta en la carpeta engine/function, pide a news.cache.php que esta en engine/cache, se abra para alguna aplicacion de cache, puede que cache.php pida la escritura en este ultimo y no pueda escribirlo o abrirlo, generalmente sucede por que el archivo no existe o no tiene los permisos de escritura en la carpeta y te hace referencia que en la linea 91 de cache.php no se realiza la operacion deseada por algun fallo existente. por lo tanto la operacion se cierra con un fclose por que el argumento no es valido y te arroja el error en la linea 93 de cache.php por que como no pudo abrir tampoco puede cerrar.
hojala que me haya explicado bien
aplique chmod 777 news.cache.php
Warning: fopen(engine/cache/news.cache.php) [function.fopen]: failed to open stream: Permission denied in httpdocs\engine\function\cache.php on line 91
Warning: fclose(): supplied argument is not a valid stream resource in httpdocs\engine\function\cache.php on line 93
te esta avisando que cache.php que esta en la carpeta engine/function, pide a news.cache.php que esta en engine/cache, se abra para alguna aplicacion de cache, puede que cache.php pida la escritura en este ultimo y no pueda escribirlo o abrirlo, generalmente sucede por que el archivo no existe o no tiene los permisos de escritura en la carpeta y te hace referencia que en la linea 91 de cache.php no se realiza la operacion deseada por algun fallo existente. por lo tanto la operacion se cierra con un fclose por que el argumento no es valido y te arroja el error en la linea 93 de cache.php por que como no pudo abrir tampoco puede cerrar.
hojala que me haya explicado bien
aplique chmod 777 news.cache.php