2026年5月20日
2026年5月20日
.htaccessでPHP設定を変更する方法【共有サーバー対応】
はじめに
共有ホスティングでphp.iniを直接編集できない場合、.htaccessファイルにphp_valueやphp_flagディレクティブを追加することでPHP設定を変更できます。ただしApacheサーバーかつサーバー側でAllowOverrideが許可されている場合のみ有効です。
.htaccessで変更できるPHP設定
# .htaccessに追加するPHP設定
# メモリ制限
php_value memory_limit 256M
# 最大実行時間
php_value max_execution_time 300
php_value max_input_time 300
# ファイルアップロード上限
php_value upload_max_filesize 64M
php_value post_max_size 64M
# 最大入力変数数
php_value max_input_vars 3000
# エラー表示(boolean値はphp_flag)
php_flag display_errors Off
php_flag log_errors On
# セッション設定
php_value session.gc_maxlifetime 3600
php_value と php_flag の違い
| ディレクティブ | 用途 | 値の例 |
|--------------|------|--------|
| php_value | 文字列・数値の設定 | 256M, 300, 3000 |
| php_flag | On/Off の設定 | On, Off |
設定手順
ステップ1:.htaccessの場所を確認
WordPressルートディレクトリ(wp-config.phpと同じ場所)にある.htaccessファイルを編集します。
/public_html/
├── wp-config.php
├── .htaccess ← ここに追記
├── wp-admin/
└── wp-content/
ステップ2:.htaccessに設定を追加
既存のWordPress用.htaccessの末尾(または# BEGIN WordPressより前)に追記します:
# カスタムPHP設定
php_value memory_limit 256M
php_value max_execution_time 300
php_value upload_max_filesize 64M
php_value post_max_size 64M
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
...
# END WordPress
ステップ3:設定が反映されたか確認
WordPressの管理画面 →「ツール」→「サイトヘルス」→「情報」→「サーバー」でPHPの設定値を確認できます。
ステップ4:エラーが発生した場合
php_valueを追加したら500エラーになる場合、サーバーがAllowOverrideを許可していない可能性があります:
# 500エラーになる場合は削除して別の方法を使う
# php_value memory_limit 256M ← コメントアウト
Nginx環境では.htaccessのphp_valueは使えません。php.iniまたはサーバー設定で変更してください。
注意事項
php_valueはApacheのmod_phpまたはCGI環境でのみ有効- NginxやLiteSpeeedでは別の方法が必要
.htaccessは全リクエストで読み込まれるため、パフォーマンスへの軽微な影響があるphp_valueの値はphp.iniのmemory_limitより大きくはできない(サーバー上限あり)
まとめ
.htaccessへのphp_value追記は共有ホスティングでphp.iniを直接編集できない場合の有効な代替手段です。500エラーが発生する場合はサーバーがAllowOverrideを許可していないため、ホスティングのコントロールパネルから設定変更を行ってください。
関連記事: