Обнаружение поддержки 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

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

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

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>

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

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