Пользовательский файл Php.ini Когда PHP запускается как модуль?

Пользовательский файл Php.ini Когда PHP запускается как модуль?

У меня есть настройка php, которую можно изменить только в файле ini. Я не могу изменить эту настройку в глобальном php.ini из-за конфликтов, поэтому мне нужно будет сделать это для конкретного пользователя. Можно ли это сделать, если php запущен как модуль? Или мне нужно изменить php run as a cgi?

Кажется, лучшим ответом будет «не совсем», но вы можете скрытно изменить некоторые параметры, используя приемы, описанные ниже.

решение1

Я не знаю ни одного способа указать отдельный php.ini при использовании PHP как модуля Apache, только при использовании PHP как CGI. При этом любые параметры конфигурации в php.ini можно изменить в файле, .htaccessкак показано наhttp://php.net/configuration.changesпри условии, что в конфигурации Apache для параметра AllowOverride установлено значение Optionsили All.

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

Ниже приведен пример, который я использую на нескольких сайтах для изменения и include_pathустановки параметров auto_prepend_fileи auto_append_file. Для элементов с логическими флагами просто используйте php_flagвместо php_value.

<IfModule mod_php5.c>
    php_value auto_prepend_file 'header.inc.php'
    php_value auto_append_file 'footer.inc.php'
    php_value include_path '/path/to/private/includes:/usr/share/pear'
</IfModule>

решение2

Я переопределил обработчик для php для оболочки php cgi и смог указать файл php.ini

Для этого: создайте файл htaccess в папке, которую вы хотите изменить, примерно следующим образом:

Action php5-cgi /cgi-bin/php5-cgi.cgi
AddHandler php5-cgi .php

Затем создайте файл «php5-cgi.cgi» примерно такого содержания:

#!/bin/sh
exec /usr/bin/php-cgi "$@" -c "/home/user/php.ini"

Установите разрешения на выполнение этого файла как "пользователь". Затем запустите тестовый файл с phpinfo(1); чтобы проверить, загружен ли ваш ini-файл.

Спасибо всем за помощь!!

решение3

Все подробности здесь:http://php.net/configuration.changes

решение4

Вы можете использовать Apache «php_admin_value» для каждого виртуального хоста/пользователя.

IIRC, вы можете переопределить каждое значение php.ini с помощью этой команды

Связанный контент