Обнаружить поддержку php_value / php_flag в .htaccess для подавления ошибок — режим PHP CGI — mod_php

Я использую правила php_value и php_flag в .htaccess, например:

php_value upload_max_filesize 100M

Но это вызывает ошибку, когда сервер работает в режиме CGI вместо режима Apache, и вместо этого я должен использовать такие правила php.ini, как:

upload_max_filesize = 100M

Мои библиотеки кода должны работать в любом режиме без ручных изменений для каждого сервера.

Мне потребовалось некоторое время, чтобы найти решение, позволяющее использовать оба метода, и, поскольку его было трудно найти, я решил опубликовать свое решение здесь.


person Jamie G    schedule 30.11.2015    source источник


Ответы (1)


Вы можете обнаружить mod_php в .htaccess и убедиться, что эти директивы используются только тогда, когда они поддерживаются. В .htaccess:

<IfModule mod_php5.c>
   php_value upload_max_filesize 100M
   php_flag ...
</IfModule>

Примечание. В зависимости от ваших настроек вам может потребоваться изменить mod_php5.c на mod_php4.c или mod_php.c.

Кроме того, вы можете вручную отключить избыточный файл php.ini от публичного доступа в режиме php, используя следующее в .htaccess:

<Files ~ "\.ini">
   Order allow,deny
   Deny from all
</Files>

Надеюсь, это сэкономит вам время!

person Jamie G    schedule 30.11.2015