2010-09-10 3 views
1

Я пытаюсь установить псевдоним в Apache для использования в файлах PHP, где находятся все мои PHP-скрипты. Обычно мы пишем:Apache Alias ​​или ScriptAlias, который используется с PHP, не работает

Alias /php-bin/ "/var/www/php-bin/" 

К сожалению, это не работает для PHP:

<?php require /php-bin/file.php; ?> 

Apache все еще понимает Алиас (я сделал некоторые тесты), PHP, однако не находит Псевдоним пути это должно быть.

Я использую PHP как модуль Apache, а не как CGI. Кто-нибудь понял?


РЕШЕНИЕ

Либо используйте параметр include_path в php.ini или символические ссылки каталога, так что функция требует в PHP будет искать файлы без использования Apache Алиаса. Последнее решение в моем случае выше включает создание новой папки в моей файловой системе с именем/php-bin, а затем ее символическую привязку в/var/www/php-bin.

+0

Вы можете символизировать каталог в корневом каталоге документа вместо псевдонима, тогда вы можете включить его по мере необходимости – pharalia

+0

Smart! Вы имеете в виду использование первого «mkdir/php-bin», затем «ln -s/var/www/php-bin/php-bin»? –

ответ

4

Возможно, это связано с тем, что они включают и требуют использования ссылок на файловую систему, а ведущие/относятся к корневому каталогу файловой системы. PHP не ссылается на псевдоним Apache или рассматривает каталог htdocs веб-сервера как root: он рассматривает вашу ссылку на каталоги как абсолютную (когда вы используете ведущий /) или относительный, используя параметр include_path, когда это относительная ссылка.

EDIT

Вы можете попробовать добавить/вар/WWW/PHP-бен/к include_dir в вашем php.ini, а затем просто использовать требуют 'file.php' (сбросив/PHP-bin/справочник каталога) в вашем коде.

+0

Это имеет смысл. В этом случае можно ли использовать ту же функцию, что и Alias ​​в этом случае, но по-другому, возможно, в php.ini или что-то еще? –

+0

ОЧЕНЬ ХОРОШО! Большое спасибо! И для будущей ссылки я предполагаю, что вы имеете в виду «include_path». Еще раз спасибо! –

+0

Да, include_path –

Смежные вопросы