Когда я запустил phpinfo()
и посмотрю Configuration
категории под PHP Core
, я вижу директиву под названием include_path
с локальным значением и основным значением.Как узнать, какой путь include будет использоваться в PHP?
В этом случае мое локальное значение устанавливается в
.: ./include: ../include: /usr/share/php: /usr/share/php/smarty: /usr/share/pear
и мой мастер установлено значение
.: /usr/share/php: /usr/share/pear: /usr/share/php/pear: /usr/share/php/smarty
Причина я пытаюсь узнать, как это работает, потому что есть файл в системе, я работаю под названием Smarty.class.php
, что, я уверен, звучит очень знакомо всем, кто использует Smarty Templating Engine.
Один из PHP-файлов имеет следующие включает в себя:
require_once("Smarty.class.php"); require_once("user_info_class.inc");
Файл user_info_class.inc
находится в том же каталоге, что и файл делая включаемый, что делает прекрасный смысл для меня, и это путь, который я всегда ссылаются на файлы. Я решил, что хочу открыть файл Smarty.class.php и предположил, что он будет в том же каталоге, но это не так.
После небольшого перекопа я обнаружил переменные php_ini
и, наконец, смог найти файл в каталоге usr/share/php/smarty/
.
Так что, казалось бы, при создании включить его следует какой-то порядок между значениями Local и Master для include_path
.
Предполагая, что мои выводы были правильными до сих пор, может кто-нибудь объяснить порядок, в котором PHP ищет файлы, которые будут включены?
Высоких, спасибо очень много Аллена. Это прекрасно отвечает на мой вопрос. ++ –