php.ini с suPHP в.htaccess

Мой сервер использует suPHP, поэтому у каждого сайта есть свой файл php.ini. Мой хост рекомендовал добавить следующее в мой файл.htaccess:

<IfModule mod_suphp.c>
suPHP_ConfigPath /home/user/public_html
</IfModule>

Это в основном указывает на файл php.ini сайта. Тем не менее, я пытаюсь иметь стандартный файл.htaccess для всех сайтов, которые мне не нужно редактировать - в основном это часть моего "стандартного" сайта, с которого я начинаю. Я попытался изменить выше, чтобы это:

<IfModule mod_suphp.c>
suPHP_ConfigPath %{DOCUMENT_ROOT}/public_html
</IfModule>

Но это не работает. Как вы можете сказать, я, вероятно, не понимаю, как все это работает. Может кто-нибудь помочь мне с приведенным выше кодом, чтобы мне не нужно было указывать точный путь для каждого файла.htaccess и заставить Apache определить путь к моему файлу php.ini?

Надеюсь, это имеет смысл, это немного сложно объяснить!

1 ответ

Решение

Просто делаю зачистку старого suphp Qs. В mod_suphp используется стандартный анализатор параметров, поэтому в принципе должен работать%{DOCUMENT_ROOT}. Проблема, с которой вы почти наверняка столкнулись, заключается в том, что suPHP обычно используется для решений общего хостинга, и для них эффективный DOCUMENT_ROOT для пользователей отличается от установленного директивой DocumentRoot в конфигурации системы.

Большинство поставщиков устанавливают переменную среды для указания на корневой каталог документа пользователя. Мой хост настроил DOCUMENT_ROOT_REAL, другой, с которым я столкнулся, это PHP_DOCUMENT_ROOT. Вам нужно посмотреть в своем отчете phpinfo(), чтобы увидеть, что применимо к вашему делу. Так что на моем.htaccess я использую

suPHP_ConfigPath %{ENV:DOCUMENT_ROOT_REAL}/_private

и это прекрасно работает для меня.

Другие вопросы по тегам