URL file-access is disabled in the server configuration

Teniendo en cuenta el advenimiento de PHP 6, la ya estandarización definitiva de PHP 5 como versión estable de este lenguaje, y que PHP 4 dejará de tener soporte a finales del próximo mes de Diciembre, decidí actualizar un sistema con PHP 4.4.7 y Apache 1.3.3.9 a PHP 5.2.5, y Apache 2.0.61.
Todo el proceso de upgrade fue bien, por las dudas obviamente hice backups de los respectivos archivos de configuración de cada servicio. Luego del upgrade, procedí a reinstalar ciertos añadidos como ZendOptimizer, Eaccelerator, Mod_Security, etc, todo salió perfectamente y sin problemas.
Faltaba la verificación final de las páginas, por ello cargué página por página que había en este server, y todas me dieron bien, excepto una que usaba includes remotos, generaba el siguiente error:
URL file-access is disabled in the server configuration
Al parece la variable allow_url_fopen desaparece de php.ini, y debe ser reemplazada para que los includes remotos funcionen, simplemente reemplacen:
allow_url_fopen = On
Por:
allow_url_include = On
Luego de eso, reinician el servidor web y listo
December 28th, 2007 at 6:55 pm
Me sacaste de un apuro! gracias!
January 10th, 2008 at 2:06 pm
MUCHAS GRACIAS, yo tenía exactamente ese problema y no sabía que hacer.
Que raro que el php.ini no incluya una línea con la variable “allow_url_include”, aunque sea para descomentarla o para ponerle el On.
Una vez más gracias!!!!!!
January 12th, 2008 at 3:17 pm
No hay problema, siempre que encuentro alguna solución trato de documentarla, háganlo ustedes también en la medida que puedan, es una buena manera de ayudar a los demás
Un saludo!
January 25th, 2008 at 2:30 am
Muchas gracias, la verdad me tenia loco a mi también este tema después de actualizar, menos mal que gente como tu comparte lo que aprende
June 3rd, 2008 at 12:03 am
Tambien no hace falta remplazar la linea sino agregar una nueva linea.
allow_url_fopen = On
allow_url_include = On
y funciona tb..
Saludos
June 3rd, 2008 at 5:10 pm
Gracias por tu comentario Javier, no sabía ese truco!
Saludos,
Esteban.-
July 11th, 2008 at 3:20 am
lo unico que se logra activando esta directiva es exponerse y dejar vulnerable la web a un ataque RFI..
July 11th, 2008 at 6:57 pm
Si Hieluki, lamentablemente aveces hay que tener un balance entre seguridad y usabilidad, si usas un servidor con scripts comerciales, nunca podrás tener un sistema super seguro, como bien sabrás, los scripts generalmente se escriben pensando en facilitar las cosas sin importar si incurren en graves fallos a nivel de web.
Gracias por tu comentario.
Saludos,
Esteban.-
October 25th, 2008 at 1:48 pm
Muchas gracias… tuve un kernel panic personal, hasta que econtre tu solucion, me sirvio de mucho, gracias…
October 26th, 2008 at 11:49 pm
Ahora una pregunta… antes, cuando no tenia apache 2.0.63 podia usar este codigo en mis paginas webs html:
include(‘http://www.dominio.com/pagina.htm’);
Ahora, no sale nada… lei que hay que tener habilitado short_open_tag en php.ini efectivamente lo tengo en On pero aun no sale. Sabes como se puede usar?
October 27th, 2008 at 6:15 pm
DnLx,
Yo también estoy corriendo Apache 2.0.63 en varios servidores y con el mismo código no tengo problema alguno para incluir URLs, ejemplo que probé hace 1 minuto:
include(‘http://www.encuentroalternativo.com’);
¿Qué te dice la gente del soporte técnico de tu proveedor de Hosting? A ellos es a los primeros que deberías consultar.
Saludos,
January 25th, 2009 at 1:17 am
Muchachos porfavor una ayuda muuuy urgente estoy en lo mismo actualizando un sistema que tiene versiones viejas, el caso es que pues llevo como una semana arreglando todo y todos los dias reviso un problema que tengo ya cambie el valor en el php.ini allow_url_fopen por on y se me quito el error pero no me incluye las funciones remotas de donde antes las incluia porfavor ayuda jeje estoy cansado de revisar el tema todos los dias le dedico un tiempo para ver si lo puedo resolver mientras hago el resto de la actualizacion.
gracias de antemano,
January 25th, 2009 at 12:37 pm
Leonardo,
No te quemes mucho la cabeza, simplemente podés dejar las dos lineas, así ambas funciones están activadas:
allow_url_fopen = On
allow_url_include = On
Luego reinica el servidor web y debería funcionar.
Saludos,
Esteban.-
January 25th, 2009 at 7:39 pm
Esteban gracias por tu respuesta y esos dos valores estan con On pero pues no c si sea o no posible o si talves este haciendo las cosas mal segun veo, no se si puedo o no incluir una funcion de un archivo php de forma remota con un include, el codigo que tome no estaba terminado y talves quien lo hizo antes estaba haciendo pruebas para ver si podia o no incluir la funcion remota del php cosa que es posible por que el codigo no estaba terminado me explico.
En un primer archivo php1.php esta una funcion
y en un segundo quiero incluir a php1 pero esta en un servidor remoto
y esto no me da problemas por la inclusion pero no me encuentra la funcion nuevamente digo que no c si sea o no posible hacer esto o si realmente era una prueba del antiguo desarrollador gracias y hasta luego.
Gracias por la atencion.
Saludos
January 25th, 2009 at 8:05 pm
Ya esto no sería tanto a nivel de server, sino más bien programación misma, y lamentablemente no soy desarrollador PHP. Creo que lo ideal sería que plantearas este problema en algún foro de programación PHP, como por ejemplo éste: http://www.forosdelweb.com/f18/
Plantea tu duda allí, y de seguro logras solucionarlo
Saludos.
January 25th, 2009 at 8:10 pm
gracias enserio muchas gracias pues voy a ver que pasa en esta direccion hasta luego
February 1st, 2009 at 11:20 pm
Yo cambie esas lineas hace un tiempo cuando me actualizaron la version del apache de mis servidores. Le puse las lineas esas en On en el php.ini y se soluciono.
Pero AHORA me actualizaron el soft de nuevo parece y no me funcionan los includes externos nuevamente. Necesito ayuda, a alguien le paso?
Saludos y gracias
June 23rd, 2009 at 9:48 pm
Funciona bien, recién tenía este problema y con esto se arregló.
YOJOJO!!!!