PHP-FPM 環境で .htaccess に php_value を使用したら 500 Internal Server Error

表題の通り、 PHP-FPM 環境で .htaccessphp_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>

まず .htaccessphp_value を止めて、代わりに次に記述する .user.ini へのWebアクセスを禁じる設定を追記します。

.user.ini

続いて .user.ini に先程の php_value の設定と同様の内容を記述します。

memory_limit 64M
post_max_size 32M
upload_max_filesize 16M

これで動作確認し、問題ないことを確認しました。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。