включить PHPWhoIs по умолчанию для всех скриптов - PullRequest
1 голос
/ 05 января 2012

Итак, у меня есть PHPWhoI, расположенные в plugins/phpwhois-4.2.2 корня моего сервера.

Я могу использовать класс Whois() в сценариях php, включив его следующим образом:

include_once('../../../plugins/phpwhois-4.2.2/whois.main.php');

$whois = new Whois();

Но я пытаюсь заставить мой сервер включать этот файл по умолчанию.Я попытался добавить это в свой php.ini

include_path=".:/plugins/phpwhois-4.2.2/whois.main.php"

И подтвердил, что это заняло с var_dump(ini_get('include_path'));, но затем говорится, что класс Whois() не существует.

Iтакже обратите внимание, что я перезаписываю значение по умолчанию include_path.

Как добавить этот путь, чтобы он включался по умолчанию в любом сценарии?

Ответы [ 3 ]

3 голосов
/ 05 января 2012

Путь включения используется, чтобы указать PHP, где искать, когда вы используете включение в вашем коде, так что это список каталогов ... он не выполняет автоматически включения для вас

То же самое с

include_path=".:/plugins/phpwhois-4.2.2

в вашем php.ini, тогда

include "whois.main.php" 

успешно найдет файл для включения

. Вы можете посмотреть auto_prepend_file iniхотя настройка для включения определенного php-файла перед основной частью вашего скрипта

1 голос
/ 05 января 2012

Реальная проблема заключается в том, что вы не хотите писать путь для включения файла. Используйте взамен автозагрузчик .

Если вам все еще нужночтобы установить путь включения по умолчанию, я рекомендую просто отобразить текущие пути включения в скрипте, а затем использовать его в php.ini, добавив каталог plugins или любой другой базовый путь включения.Использование этого в сочетании с автозагрузчиком очень эффективно.

Затем в вашем пути включения введите setup.php и используйте его для настройки вашего автозагрузчика.Теперь на любой из ваших страниц вы просто включаете require 'setup.php';.

0 голосов
/ 05 января 2012

Параметр include_path, который вы изменяете, неправильный, хотя само название говорит о его значимости. Фактически он используется для установки каталога по умолчанию , в котором ищутся включаемые файлы - многие люди предпочитают, чтобы их включения выходили за пределы своего обычного веб-пространства, чтобы не допустить их выхода из контекста, среди прочих причин.

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

...