Articulo de ayuda
Cómo activar y desactivar allow_url_fopen en PHP
Aprende a activar o desactivar allow_url_fopen en PHP desde tu archivo php.ini y conoce sus riesgos de seguridad.
Introducción
allow_url_fopen es una directiva de PHP que permite a determinados scripts abrir archivos o recursos remotos mediante una URL, por ejemplo usando http://, https:// o ftp://, de una forma similar a como se abriría un archivo local.
En algunos casos, una aplicación, plugin, tema o desarrollo personalizado puede necesitar esta opción para conectarse a recursos externos. Sin embargo, por motivos de seguridad, es recomendable mantenerla desactivada si tu web no la necesita.
En esta guía verás cómo activar o desactivar allow_url_fopen desde tu propio archivo php.ini.
Antes de empezar
Este artículo presupone que ya tienes instalado y disponible tu propio archivo php.ini en tu servicio de hosting.
Si todavía no tienes un archivo php.ini propio o no sabes cómo crearlo, contacta con soporte para que podamos orientarte.
Qué hace allow_url_fopen
Cuando allow_url_fopen está activado, PHP puede usar funciones compatibles con archivos para acceder a recursos remotos mediante URL.
Por ejemplo, un script podría intentar abrir un recurso externo como si fuera un archivo:
https://ejemplo.com/archivo.txt
Esto puede ser útil para ciertos desarrollos, pero también implica riesgos si el código de la web no valida correctamente las URLs o permite que un usuario introduzca direcciones externas sin control.
Por qué suele estar desactivado
Por defecto, esta función puede estar desactivada porque supone un posible riesgo de seguridad.
Activarla no significa que tu web vaya a tener un problema automáticamente, pero sí aumenta la responsabilidad sobre el código que se ejecuta en tu cuenta de hosting. Por eso, antes de habilitarla, asegúrate de que tu aplicación realmente la necesita.
Cómo activar allow_url_fopen en PHP
Para activar allow_url_fopen, edita tu archivo php.ini y añade o modifica esta línea:
allow_url_fopen = on
Después de guardar el archivo, revisa tu web o aplicación para confirmar que el cambio funciona correctamente.
Cómo desactivar allow_url_fopen en PHP
Para desactivar allow_url_fopen, edita tu archivo php.ini y cambia la directiva a:
allow_url_fopen = off
Guarda los cambios y vuelve a probar tu sitio web. Si la web funciona correctamente, es preferible mantener esta opción desactivada.
Consejos útiles
Antes de modificar tu archivo php.ini, guarda una copia de seguridad del archivo original. Así podrás restaurarlo rápidamente si algo no funciona como esperabas.
Activa allow_url_fopen solo si una aplicación, plugin o script lo requiere expresamente. Si no estás seguro, consulta primero la documentación de la aplicación o contacta con soporte.
Evita usar código que abra URLs externas sin validar. Si una URL puede ser introducida por un usuario, el script debe comprobarla correctamente antes de usarla.
No confundas allow_url_fopen con allow_url_include. La directiva allow_url_fopen permite abrir recursos remotos con funciones compatibles, mientras que allow_url_include está relacionada con incluir archivos remotos mediante instrucciones como include o require.
Problemas frecuentes
He activado allow_url_fopen y mi web sigue mostrando el mismo error
Comprueba que editaste el archivo php.ini correcto y que la línea está escrita sin errores:
allow_url_fopen = on
También puede ocurrir que tu aplicación necesite otra extensión o configuración adicional de PHP.
No encuentro el archivo php.ini
Si no tienes un archivo php.ini propio, debes crearlo o instalarlo según las instrucciones de tu servicio de hosting. Si no sabes dónde colocarlo, contacta con soporte indicando el dominio afectado y el cambio que necesitas realizar.
La web da error después de modificar php.ini
Restaura la copia anterior del archivo php.ini o vuelve a dejar la directiva como estaba. Un error de sintaxis en este archivo puede afectar al funcionamiento de PHP.
¿Es obligatorio activar allow_url_fopen?
No. Solo debes activarlo si una aplicación o desarrollo lo necesita. Si tu web funciona correctamente con esta opción desactivada, es recomendable dejarla así.
Preguntas frecuentes
¿Qué es allow_url_fopen?
allow_url_fopen es una directiva de PHP que permite abrir recursos remotos mediante URL desde funciones que trabajan con archivos.
¿Es seguro activar allow_url_fopen?
Depende del código de tu web. Si el código está bien desarrollado y valida correctamente las URLs, puede usarse cuando sea necesario. Aun así, por seguridad, conviene mantenerlo desactivado si no se necesita.
¿Dónde se cambia allow_url_fopen?
Se cambia en el archivo php.ini de tu cuenta de hosting, añadiendo o modificando la línea correspondiente con on para activarlo o off para desactivarlo.
¿Qué valor debo usar: on u off?
Usa on si necesitas activar la función:
allow_url_fopen = on
Usa off si quieres desactivarla:
allow_url_fopen = off
¿Puedo activar allow_url_fopen solo para una web?
Depende de cómo esté configurado tu entorno de hosting y de dónde se aplique tu archivo php.ini. Si tienes varias webs en la misma cuenta y no estás seguro del alcance del cambio, consulta con soporte antes de modificarlo.
Conclusión
Para activar o desactivar allow_url_fopen en PHP, solo debes editar tu archivo php.ini y definir la directiva con on u off.
Si tu aplicación no necesita abrir recursos remotos, lo más recomendable es mantener esta opción desactivada por seguridad. Si tienes dudas sobre el archivo php.ini o el cambio no se aplica correctamente, puedes contactar con soporte de miHosting indicando el dominio afectado y el ajuste que necesitas revisar.