Stack Overflow en español Asked by Pelukosa on December 14, 2021
Tengo una duda simple pero que no encuentro solución
Quiero obtener un archivo desde cualquier parte de mi aplicación, utilizando en include
una ruta absoluta, he probado de varias maneras pero no lo consigo. De todas formas quería saber si existe alguna forma mejor que las que estoy utilizando
require "http://" . $_SERVER["HTTP_HOST"] . "/application/config.php";
// Esto devuelve: require(): http:// wrapper is disabled in the server configuration by allow_url_include=0
// Estoy trabajando en local por lo que me imagino que sólo tenga que configurar xampp para esto
require $_SERVER["HTTP_HOST"] . "/application/config.php";
// Así no me funciona tampoco
No deberías usar require
en URLs, aunque sean del mismo dominio.
Por un lado te ahorras una llamada al servidor web innecesaria (incluida la latencia que agregas por ello).
Por otro lado, incluirás la interpretación del archivo PHP, y no su contenido. Por lo que esa probable que, simplemente, ese require
no tenga absolutamente ningún efecto (la interpretación del PHP con solo código suele ser una página en blanco).
Si no quieres usar rutas relativas:
require __DIR__ ."/application/config.php";
Entonces deberías probar a agregar una variable de entorno en el servidor web Apache haciendo uso de mod_env
con dicha ruta creando un archivo .htaccess
en el directorio raíz de tu sitio web con este contenido (recuerda activar AllowOverride FileInfo
si no lo has hecho ya):
SetEnv RUTA_BASE /var/www/html/
Y, posteriormente, puedes hacer uso de ella en todos los scripts PHP de la siguiente manera:
require getenv('RUTA_BASE') ."./application/config.php";
Ten en cuenta que si no está definida la variable de entorno, se accederá al subdirectorio application
a partir del directorio de trabajo gracias al .
del principio. Si no se pone entonces, por defecto, buscaría el directorio en el raíz del sistema.
Este método te permite tener disponible la ruta en todos los scripts PHP del sitio web de manera automática, sin tener que incluir ningún script de configuración ni nada por el estilo.
Answered by OscarGarcia on December 14, 2021
ya intentaste concatenando con comillas simples.
require "http://" . ´$_SERVER["HTTP_HOST"]´ . "/application/config.php";
Answered by Juan Pablo Solana on December 14, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP