Error Fatal de PHP Falló al abrir el Archivo requerido


Estoy recibiendo el siguiente error de Apache

[Sat Mar 19 23: 10:50 2011] [warn] mod_fcgid: stderr: PHP Error fatal: require_once () [function.require]: Error al abrir required ' / common/configs / config_templates.inc.php ' (include_path='.: / usr / share/pear:/usr/share /php') en/home/viapics1/public_html/common/configs / config.inc.php en línea 158

Definitivamente no soy un experto en Apache sino en la configuración de archivos.inc.php & config_templates.inc.php están ahí. Yo también intenté navegar a una prueba.página html que coloqué en common / configs/, así que asumo que no hay problemas de derechos. También establezco los derechos en config_templates.inc.php para dar a todos los derechos de lectura, escritura y ejecución. No estoy seguro de qué hacer en este punto, revisé para ver si había un directorio /usr/share/php y encontré que no lo había, pero cuando instalé yum php dijo que tenía la última. ¿Ideas?

 39
Author: Your Common Sense, 2011-03-19

6 answers

En realidad no es una pregunta relacionada con Apache. Ni siquiera uno relacionado con PHP. Para entender el error tis, debe distinguir una ruta de servidor virtual de una ruta de sistema de archivos.

require el operador trabaja con archivos. Pero no hay

                          /common/configs/config_templates.inc.php

Archivo en el servidor, sino

/home/viapics1/public_html/common/configs/config_templates.inc.php

La parte /home/viapics1/public_html se llama "Raíz del documento" y conecta un mundo virtual con uno real. Si cambia su código a algo como

require_once $_SERVER['DOCUMENT_ROOT'].'/common/configs/config_templates.inc.php';

Funcionará desde cualquier archivo colocado en cualquier directorio.

 72
Author: Your Common Sense,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-28 08:58:40

Si tiene SELinux en ejecución, puede que tenga que conceder permiso a httpd para leer desde / home dir usando:

 sudo setsebool httpd_read_user_content=1
 7
Author: user1533634,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-23 16:54:28

Ejecute php -f /common/configs/config_templates.inc.php para verificar la validez de la sintaxis PHP en el archivo.

 3
Author: Alex Howansky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-19 19:09:19

Hey acabo de tener este problema y encontré que no estaba mirando la ubicación de la carpeta lo suficientemente de cerca:

Tenía

require_once /vagrant/public/liberate/**APP**/vendor/autoload.php

Lo que funcionó fue:

require_once /vagrant/public/liberate/vendor/autoload.php

Fue muy fácil (como principiante) pasar por alto este problema tan imperceptible. Sí, me doy cuenta de que el problema de requerir que se registre apunta directamente al problema en cuestión, pero si usted es un principiante, como yo, estas cosas pueden pasarse por alto fácilmente.

ARREGLO:

Echa un buen vistazo a la depuración de (__Dir __ '/etc/etc/etc / file.php') luego tenga su sistema de archivos abierto en una ventana diferente, y mapee los dos directamente. Si hay incluso la más mínima diferencia, esto no funcionará y el error anterior será escupido.

 0
Author: Sweet Chilly Philly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-15 23:38:33

En caso de que esto ayude a alguien más por ahí, me topé con un caso oscuro para este error desencadenante anoche. Específicamente, estaba usando el método require_once y especificando solo un nombre de archivo y ninguna ruta, ya que el archivo requerido estaba presente en el mismo directorio.

Comencé a obtener el error 'Archivo requerido de apertura fallida' en un momento dado. Después de arrancarme el cabello por un tiempo, finalmente noté un mensaje de advertencia de PHP inmediatamente encima de la salida de error fatal, lo que indica 'failed to open stream: Permission denied', pero lo más importante, informándome de la ruta al archivo que estaba tratando de abrir. Luego me dediqué al hecho de que había creado una copia del archivo (con la propiedad no accesible para Apache) en otro lugar que también estaba en la ruta de búsqueda 'include' de PHP, y por delante de la carpeta donde quería que se recogiera. D'oh!

 0
Author: John Rix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-03 23:44:44

Estaba teniendo exactamente el mismo problema, comprobé tres veces las rutas de inclusión, también comprobé que pear estaba instalado y todo se veía bien y todavía estaba recibiendo los errores, después de unas horas de volverme loco mirando esto me di cuenta de que en mi script tenía esto:

include_once "../Mail.php";

En lugar de:

include_once ("../Mail.php");

Sí, faltaba el estúpido paréntesis, pero no había ningún error generado en esta línea de mi script que era extraño para mí

 -7
Author: Eduardo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-23 01:09:38