表題の通り、 PHP-FPM 環境で .htaccess
に php_value
を使用したら 500 Internal Server Error. が発生したので対処をメモしておきます。
現象
php_value memory_limit 64M
php_value post_max_size 32M
php_value upload_max_filesize 16M
.htaccess
にこのようなファイルアップロード関係の設定を記述しておくと、 500 Internal Server Error. が発生しました。
なお、サーバログには次のように記録されていました。
/PATH/TO/WEBDIRECTORY/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration, referer: https://example.com/
調査・対処
このサーバログで検索すると次の記事がヒット。
PHP-FPM 環境では php_value
は使用できないとのこと。
今回はこのケースに該当していたため、対処します。
.htaccess
# php_value memory_limit 64M
# php_value post_max_size 32M
# php_value upload_max_filesize 16M
<Files ".user.ini">
Require all denied
</Files>
まず .htaccess
は php_value
を止めて、代わりに次に記述する .user.ini
へのWebアクセスを禁じる設定を追記します。
.user.ini
続いて .user.ini
に先程の php_value
の設定と同様の内容を記述します。
memory_limit 64M
post_max_size 32M
upload_max_filesize 16M
これで動作確認し、問題ないことを確認しました。