PHP fopen() Error: no se pudo abrir la secuencia: Permiso denegado
wordpress wordpress-plugin (2)
Estoy aprendiendo cómo escribir un plugin de WordPress. Necesito ayuda para escribir algunos datos en un archivo XML. Estoy en mi máquina local, una Mac ejecutando MAMP. Tengo PHP 5.2.13. En mi complemento, tengo:
$file_handle = fopen(''markers.xml'', ''w'');
$stringdata = "Test Info";
fwrite($file_handle, $stringdata);
fclose($file_handle);
Ejecutar lo anterior me da el siguiente error:
Advertencia: fopen (markers.xml) [function.fopen]: no se pudo abrir la secuencia: Permiso denegado en /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php en la línea 73
Advertencia: fwrite (): el argumento proporcionado no es un recurso de transmisión válido en /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php en la línea 75
Advertencia: fclose (): el argumento proporcionado no es un recurso de transmisión válido en /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php en la línea 76
Intenté usar la ruta absoluta en la línea $ file_handle: http: //my_site/wp-content/plugins/my_plugin_folder/markers.xml . Pero, eso no funcionó.
También intenté cambiar los permisos en markers.xml de la siguiente manera:
(Me): Leer y escribir (desconocido): Leer solo a todos: Leer y escribir
Por alguna razón, mi Mac no me dejaba cambiar (desconocido) a Read & Write. No estoy seguro si eso hace la diferencia. Hice clic derecho en el archivo y seleccioné ''Obtener información'' para cambiar los permisos.
En phpInfo (), tengo:
"Flujos PHP registrados https, ftps, compress.zlib, compress.bzip2, php, archivo, datos, http, ftp"
¿Un ajuste de WordPress está causando el problema? o es solo un problema de PHP?
¿Alguna sugerencia sobre cómo resolver este problema?
Gracias.
Es posible que deba cambiar los permisos como administrador. Abre la terminal en tu Mac y luego abre el directorio en el que se encuentra markers.xml. Luego escribe:
sudo chmod 777 markers.xml
Se le puede pedir una contraseña. Además, podrían ser los directorios que no permiten el acceso completo. No estoy familiarizado con WordPress, por lo que puede tener que cambiar el permiso de cada directorio que se mueve hacia arriba al directorio de mysite.
[function.fopen]: failed to open stream
Si tiene acceso a su archivo php.ini, intente habilitar Fopen. Encuentre la línea respectiva y configúrela como "activada": & en wp, por ejemplo, localhost / wordpress / function.fopen en php.ini:
allow_url_fopen = off
should bee this
allow_url_fopen = On
And add this line below it:
allow_url_include = off
should bee this
allow_url_include = on