PHP / Apache ищет папку включений по умолчанию? - PullRequest
0 голосов
/ 20 сентября 2011

Я недавно обнаружил set_include_path () и обнаружил, что возвращаемый путь - это путь к моему каталогу включений.

Ищет ли PHP автоматически каталог включения и обновляет ли он include_path до этого?

Я также заметил, что несколько путей, которые я установил с помощью set_include_path, недоступны внутри метода класса, если он установлен вне самого класса.

Почему это так?

$include_root = $_SERVER['DOCUMENT_ROOT'] . '/path/to/includes/';
$include_paths = get_include_path() . PATH_SEPARATOR .
                 $include_root . PATH_SEPARATOR .
                 $include_root . 'classes/' . PATH_SEPARATOR;

set_include_path( $include_paths );

Спасибо за все ваши советы заранее!

1 Ответ

2 голосов
/ 20 сентября 2011

это (любой «автоматический» поиск включаемого каталога) будет установлено в файле php.ini. создать тестовую страницу с именем test.php, содержащую:

<?php phpinfo(); ?>

направьте ваш браузер на test.php и найдите эту переменную:

include_path    .:/usr/share/php:/usr/share/pear

Вы также можете найти, какой файл php.ini используется:

Loaded Configuration File   /etc/php5/apache2/php.ini

У меня нет ответа на вопрос о методах класса.

Если вы работаете из командной строки, а не через браузер, вы можете проверить INI-файл, используя:

php -r "phpinfo();" | less
...