Apache Alias ​​или ScriptAlias, используемые с PHP, не работают - PullRequest
1 голос
/ 10 сентября 2010

Я пытаюсь настроить псевдоним в Apache для использования с файлами PHP, где находятся все мои сценарии 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.

1 Ответ

4 голосов
/ 10 сентября 2010

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

EDIT

Вы можете попробовать добавить / var / www / php-bin / к include_dir в вашем php.ini, а затем просто использовать require 'file.php' (отбрасывая ссылку / php-bin / directory) в вашем коде.

...