Błąd krytyczny PHP nie udało się otworzyć wymaganego pliku
Otrzymuję następujący błąd z Apache
[w tym celu prosimy o zapoznanie się z naszą polityką prywatności.require]: failed opening required ' /common/configs / config_templates.inc.php " (include_path=".w tym celu prosimy o zapoznanie się z naszą polityką prywatności.inc.php on line 158
Zdecydowanie nie jestem ekspertem od Apache ' a, ale od konfiguracji pliku.inc.php & config_templates.inc.php tam są. Ja też próbowałem przejść do testu.stronę html umieściłem w common / configs / więc zakładam, że nie ma problemów z prawami. Ustawiłem również prawa na config_templates.inc.php daje wszystkim prawa do odczytu, zapisu i wykonywania. Nie wiem, co zrobić w tym momencie, sprawdziłem, czy nie ma katalogu/usr/share / php i znalazłem, że nie ma, ale kiedy zrobiłem Yum zainstalować php powiedział, że ma najnowszy. Pomysły?
6 answers
To nie jest pytanie związane z Apache. Ani nawet związanego z PHP. Aby zrozumieć błąd tis, musisz odróżnić ścieżkę serwera wirtualnego od ścieżki systemu plików.
require
operator pracuje z plikami. Ale nie ma
/common/configs/config_templates.inc.php
Plik na serwerze, ale raczej
/home/viapics1/public_html/common/configs/config_templates.inc.php
Część /home/viapics1/public_html
nazywa się "document root" i łączy świat wirtualny z rzeczywistym. Jeśli zmienisz kod na coś w stylu
require_once $_SERVER['DOCUMENT_ROOT'].'/common/configs/config_templates.inc.php';
Będzie działać z dowolnego pliku umieszczonego w dowolnym katalog.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-28 08:58:40
Jeśli masz uruchomiony SELinux, być może będziesz musiał przyznać httpd uprawnienia do odczytu z katalogu / home używając:
sudo setsebool httpd_read_user_content=1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-23 16:54:28
Uruchom php -f /common/configs/config_templates.inc.php
, aby zweryfikować poprawność składni PHP w pliku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-19 19:09:19
Hej właśnie miałem ten problem i okazało się, że nie zaglądałem do lokalizacji folderu wystarczająco uważnie:
Miałem
require_once /vagrant/public/liberate/**APP**/vendor/autoload.php
Zadziałało:
require_once /vagrant/public/liberate/vendor/autoload.php
Bardzo łatwo było (jako początkujący) przeoczyć ten bardzo niezauważalny problem. Tak, zdaję sobie sprawę, że problem wymagający jest rejestrowany wskazuje bezpośrednio na problem pod ręką, ale jeśli jesteś początkującym, jak ja, te rzeczy można łatwo przeoczyć.
FIX:
Przyjrzyj się dobrze debugowaniu (__Dir __ '/etc/etc/etc / file.php') następnie otwórz system plików w innym oknie i zmapuj je bezpośrednio. Jeśli jest nawet najmniejsza różnica to wymaganie nie zadziała i powyższy błąd zostanie wypluty.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-15 23:38:33
Na wypadek, gdyby to komuś pomogło, natknąłem się wczoraj na niejasną sprawę tego błędu. W szczególności używałem metody require_once i określałem tylko nazwę pliku i ścieżkę, ponieważ wymagany plik był obecny w tym samym katalogu.
W pewnym momencie zacząłem otrzymywać błąd "Failed opening required file". Po wyrwaniu włosów na chwilę, w końcu zauważyłem komunikat ostrzegawczy PHP bezpośrednio nad wyjściem błędu krytycznego, wskazujący 'failed to open stream: Permission denied', ale co ważniejsze, informowanie mnie o ścieżce do pliku, który próbował otworzyć. Następnie zwróciłem uwagę na fakt, że stworzyłem kopię pliku (którego własność nie jest dostępna dla Apache) gdzie indziej, który również znalazł się w ścieżce wyszukiwania PHP "include", a przed folderem, w którym chciałem, aby został odebrany. D ' Oh!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-03 23:44:44
Miałem dokładnie ten sam problem, trzykrotnie sprawdziłem ścieżki include, sprawdziłem również, że pear jest zainstalowany i wszystko wyglądało OK i nadal otrzymywałem błędy, po kilku godzinach szalonego patrzenia na to zdałem sobie sprawę, że w moim skrypcie było to: {]}
include_once "../Mail.php";
Zamiast:
include_once ("../Mail.php");
Yup, głupiego nawiasu brakowało, ale nie było generowanego błędu w tej linii mojego skryptu, który był dla mnie dziwny
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-23 01:09:38