Работа с директивами PHP.ini в httpd.conf

По этой ссылке перечеслен список директив php.ini, которые вы можете использовать для настройки PHP. В столбце "Место изменения" показаны режимы. Эти режимы определяют, когда и где директива PHP может или не может быть установлена, и каждая директива в руководстве относится к одному из этих режимов. К примеру, некоторые настройки могут быть установлены с помощью PHP-скрипта, использующего ini_set(), тогда как другие могут требовать php.ini или httpd.conf.

Когда PHP используется как модуль Apache вы также можете менять настройки конфигурации, используя директивы в файлах конфигурации Apache (например, httpd.conf) и файлах .htaccess. Для этого вам необходимы "AllowOverride Options" или "AllowOverride All" привилегии.

Для работы с PHP в конфигурационных файлах Apache доступны 4 директивы: php_value, php_flag, php_admin_value, php_admin_flag, которые отличаются значимостью, типом устанавливаемых значений и местом применения.

  • Директивы php_value и php_flag могут использоваться как в файлах httpd.conf, так и в файлах .htaccess, т.е. их использование доступно, практически, любому владельцу сайта (при наличии соответствующих привилегий AllowOverride, о которых говорилось выше).
  • Директивы php_admin_value и php_admin_flag можно использовать только в файле httpd.conf и любой параметр, заданный с помощью этих директив не может быть переопределен в файлах .htaccess или ini_set(). Чтобы очистить предыдущее значение используйте значение none.
  • Директивы php_flag и php_admin_flag служат для установки логических значений директив php.ini.

Частные случаи применения:

  • Параметр open_basedir зададим в описании виртуального хоста, чтобы пользователь не мог его отменить через .htaccess Разрешим две директории.
    <VirtualHost *:443>
            php_admin_value open_basedir "/var/www/example.com:/tmp"
     
            ServerName example.com
            DocumentRoot /var/www/example.com
            <Directory /var/www/example.com/>
                    Options -FollowSymLinks MultiViews -Indexes
                    AllowOverride All
                    Order allow,deny
                    allow from all
            </Directory>
    </VirtualHost>

Читайте также: Директива Как включить AllowOverride, Настройка .htaccess.

PQ VPS сервера в 28+ странах.