Frage

Wenn ich phpinfo() und Blick durch die Configuration Kategorie unter PHP Core laufe, sehe ich eine Richtlinie include_path betitelte, mit einem lokalen Wert und einem Leitwert.

In diesem Fall mein lokaler Wert auf

.:
./include:
../include:
/usr/share/php:
/usr/share/php/smarty:
/usr/share/pear

und mein Master-Wert auf

.:
/usr/share/php:
/usr/share/pear:
/usr/share/php/pear:
/usr/share/php/smarty

Der Grund, warum ich zu lernen, ich versuche, wie dies funktioniert, ist, weil es eine Datei in das System, das ich auf dem Titel Smarty.class.php arbeite, die ich sicher, klingt sehr vertraut jemand bin, der Smarty Template-Engine verwendet.

Eine der PHP-Dateien hat Folgendes beinhaltet:

require_once("Smarty.class.php");
require_once("user_info_class.inc");

Die Datei user_info_class.inc ist im selben Verzeichnis wie die Datei macht die ist, die ich durchaus Sinn macht, und ist die Art und Weise, dass ich immer Dateien verwiesen. Ich entschied, dass ich wollte, in demselben Verzeichnis Smarty.class.php öffnen und hatte angenommen, es wäre, aber es war nicht.

Nach einem bisschen graben tun, entdecken ich diese php_ini Variablen und war schließlich in der Lage, die Datei in dem Verzeichnis usr/share/php/smarty/ ausfindig zu machen.

So wäre es das scheint, wenn sie ein enthält, es folgt eine Art, um zwischen den lokalen und Master-Werten für den include_path.

Unter der Annahme, dass meine Abzüge korrekt waren so weit, kann jemand erklären, in welcher Reihenfolge PHP sucht nach den Dateien aufgenommen werden?

War es hilfreich?

Lösung

The global value is basically what's set in php.ini. The local value is what's currently being used. The local value completely overwrites the master value.

According to the manual, PHP checks the paths in the order that they are specified in the include_path setting: http://php.net/manual/en/ini.core.php#ini.include-path

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top