- 18, May 2024
- #1
Задача, которую я перед собой поставил, заключалась в создании общего каталога для хранения php-файлов, используемых несколькими моими веб-сайтами, размещенных в Linux с использованием WHM и cPanel.
Моя версия для разработки, размещенная на моем домашнем компьютере под управлением Windows, работает отлично, но версия для удаленного производства дает сбой, поэтому я пишу здесь.
Я потратил на это много времени, главным образом потому, что Apache не может иметь простой отчет об URL-адресе, поскольку он изменяется директивами до тех пор, пока не будет сгенерировано фактическое имя пути к файлу.
Без такой трассировки отладка представляет собой утомительный метод проб и ошибок.
Итак, я обнаружил, что существует два типа доступа к файлам в таком общем каталоге: во-первых, это файлы PHP Include/Require, которые пропускают большую часть серверной обработки, чтобы разрешить доступ к файловой системе.
С этим довольно легко справиться, используя директиву PHP include_path.
Примером этого первого типа является:
require_once("reuse/functions.php"); // Включаем общие функции
Второй тип доступа к файлу — это когда пользователь вводит URL-адрес в браузер или когда HTML-страница содержит в файле внестраничный Javascript.
Этот потенциал проходит через всю обработку Apache, которая может быть сложной.
Естественно, я попытался упростить.
Примером второго типа является:
Конечным результатом моих дней работы является следующий фрагмент конфигурации, который включен в блоки виртуального хоста для обеспечения доступа к общему каталогу /home/reusep/reuse на удаленном сервере и C:\WAMP\php\. lib\reusep\reuse на локальном сервере.
Итак, после этого предварительного обсуждения (не завершенного; спрашивайте, если что-то неясно), вот удаленный код, который дает сбой:
//------------------------------------------//
php_value include_path ".:/home/reusep"
php_value open_basedir "/home:/home/reusep"
AliasMatch "./reuse/(.)" "/home/reusep/$1" Псевдоним "/reuse" "/home/reusep/reuse" <Каталог "/home/reusep/"> Требовать все предоставленные DirectoryIndex index.php index.html Параметры – Индексы //------------------------------------------//
Моя версия для разработки, размещенная на моем домашнем компьютере под управлением Windows, работает отлично, но версия для удаленного производства дает сбой, поэтому я пишу здесь.
Я потратил на это много времени, главным образом потому, что Apache не может иметь простой отчет об URL-адресе, поскольку он изменяется директивами до тех пор, пока не будет сгенерировано фактическое имя пути к файлу.
Без такой трассировки отладка представляет собой утомительный метод проб и ошибок.
Итак, я обнаружил, что существует два типа доступа к файлам в таком общем каталоге: во-первых, это файлы PHP Include/Require, которые пропускают большую часть серверной обработки, чтобы разрешить доступ к файловой системе.
С этим довольно легко справиться, используя директиву PHP include_path.
Примером этого первого типа является:
require_once("reuse/functions.php"); // Включаем общие функции
Второй тип доступа к файлу — это когда пользователь вводит URL-адрес в браузер или когда HTML-страница содержит в файле внестраничный Javascript.
Этот потенциал проходит через всю обработку Apache, которая может быть сложной.
Естественно, я попытался упростить.
Примером второго типа является:
Конечным результатом моих дней работы является следующий фрагмент конфигурации, который включен в блоки виртуального хоста для обеспечения доступа к общему каталогу /home/reusep/reuse на удаленном сервере и C:\WAMP\php\. lib\reusep\reuse на локальном сервере.
Итак, после этого предварительного обсуждения (не завершенного; спрашивайте, если что-то неясно), вот удаленный код, который дает сбой:
//------------------------------------------//
php_value include_path ".:/home/reusep"
php_value open_basedir "/home:/home/reusep"
AliasMatch "./reuse/(.)" "/home/reusep/$1" Псевдоним "/reuse" "/home/reusep/reuse" <Каталог "/home/reusep/"> Требовать все предоставленные DirectoryIndex index.php index.html Параметры – Индексы //------------------------------------------//