was bedeutet es, “(include_path='.:/usr/share/pear:/usr/share/php')"?
Habe ich die Datei-Struktur, die in EC2-wie : aber vor einigen Datei-Referenzierung problem.
index.php
-db
-config.php
-cron
-cron1.php
Habe ich versucht die Datei referenzieren als:
`require_once (dirname(__FILE__).'/db/config.php');`
`require_once (($_SERVER['DOCUMENT_ROOT']).'/db/config.php');`
aber der cron läuft nicht.es gibt Fehler, die in der mail als
`PHP Warning: require_once(/db/config.php): failed to open stream: No such file or directory in /var/www/html/cron/cron1.php on line 3
Warning: require_once(/db/config.php): failed to open stream: No such file or directory in /var/www/html/cron/cron1.php on line 3
PHP Fatal error: require_once(): Failed opening required '/db/config.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/cron/cron1.php on line 3
Fatal error: require_once(): Failed opening required '/db/config.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/cron/cron1.php on line 3`
require_once
in die php-Seite? Ist es in index.php
?InformationsquelleAutor ketul shah | 2013-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn man sich die PHP-Konstante PATH_SEPARATOR, werden Sie sehen, dass es ":" für Sie.
Wenn Sie auseinander brechen die Zeichenfolge ".:/usr/share/pear:/usr/share/php" mit diesem Charakter, Sie erhalten 3 Teile
Alle versuche, include()/require() Dinge, sucht in diesen Verzeichnissen, in dieser Reihenfolge.
Ist es Ihnen zeigt, dass Sie in der Fehlermeldung, um Sie wissen zu lassen, wo er NICHT finden konnte, die Datei, die Sie versuchen zu require()
Für Ihre ersten benötigen, wenn das erfasst wird von Ihrem index.php dann brauchen Sie nicht, die dir Sachen, nur:
InformationsquelleAutor Uberfuzzy
Lösung für das problem
erwähnt Uberfuzzy [ wahre Ursache für das problem ]
Wenn man sich die PHP-Konstante [PATH_SEPARATOR][1], Sie werden sehen, es wird ":" für Sie.
Wenn Sie auseinander brechen die Zeichenfolge ".:/usr/share/pear:/usr/share/php" mit diesem Charakter, Sie erhalten 3 Teile
Alle versuche, include()/require() Dinge, sucht in diesen Verzeichnissen, in dieser Reihenfolge.
Ist es Ihnen zeigt, dass Sie in der Fehlermeldung, um Sie wissen zu lassen, wo er NICHT finden konnte, die Datei, die Sie versuchen zu require()
Das war die Ursache des Fehlers.
Kommen wir nun zur Lösung
php --ini
( in meinem Fall :/etc/php5/cli/php.ini
)include_path
im vi mitesc
dann drücken Sie/include_path
dannenter
include_path = ".:/usr/share/php:/var/www/<directory>/"
sudo service apache2 restart
Dies ist es.
Hoffe, es hilft.
was, wenn Sie keinen Zugriff auf die php.ini-Datei bc, du bist auf einem kostenlosen host?
InformationsquelleAutor Abhishek Goel
Tatsächlich, die Lösungen zum öffnen der php.ini-Datei Bearbeiten Sie die Zeile include_path und
entweder komplett zu verändern, um
oder anfügen
den aktuellen Wert von include_path.
Es wird weiter erläutert in : http://pear.php.net/manual/en/installation.checking.php#installation.checking.cli.phpdir
InformationsquelleAutor Ivan Aranibar
Ich hatte ein ähnliches problem.
Nur, um zu helfen jemand mit dem gleichen Problem:
Mein Fehler war der user-Datei-Attribut für die Dateien in /var/www.
Nach dem Wechsel zurück an den Benutzer "www-data", das problem war Weg.
InformationsquelleAutor Gaston
Das ist nur die Verzeichnisse, die Ihnen zeigt, wo PHP war auf der Suche für Ihre Datei. Stellen Sie sicher, dass
cron1.php
vorhanden ist, wo Sie denken, es tut. Und stellen Sie sicher, Sie wissen, wodirname(__FILE__)
und$_SERVER['DOCUMENT_ROOT']
zeigen, wo Sie erwarten.Dieser Wert kann eingestellt werden in deiner php.ini-Datei.
aber u kann mir sagen, was es bedeutet "(include_path='.:/usr/share/pear:/usr/share/php')"
es gibt mir '/var/www/html'
muss ich etwas ändern in
php.ini
?Ich sagte, Sie wollen das bedeutete. Ihr sagt Ihnen, welche Verzeichnisse den Motor sah in Ihre Dateien. Seine eine durch Doppelpunkt getrennte Liste. So sah es in
.
, ist das aktuelle Arbeitsverzeichnis. es sah dann in/usr/share/pear
, und schließlich in/usr/share/php
. Es war nicht in der Lage Ihre Dateien zu finden.InformationsquelleAutor castis
Ich hatte den gleichen Fehler, während einschließlich Datei aus dem root von meinem Projekt in
codeigniter
.Ich war mit diesem incommon.php
von meinem Projekt.ich es geändert
Arbeiten fein jetzt.
InformationsquelleAutor Bugfixer