PHP.iniに設定する設定をhttpd.confや.htaccessに対して行うメリット
2014/11/22
何か困った症状に遭遇しPHP.iniの設定を変更することはよくあることでしょう。
共用レンタルサーバーなどでも、PHP.iniファイルを設置して
サーバー上の値を上書きして利用することを認めているところもあります。
もし認められていない場合であっても、.htaccessの利用を認めているようであれば、
PHPの設定を変更することができます。
はじめに
PHPの設定といえばPHP.iniと決めつけていませんか。
検索してざっと出てくるのは大抵がPHP.iniに対する設定です。
しかしPHP.iniの設定ではApache全体でPHPがiniファイルの設定で利用されます。
ある機能だけ制限を緩めて利用したいような場合には、
PHP.iniファイルでは実現することができません。
PHP.ini設定をApacheで行う方法
PHP.iniファイルの設定をApache側で行う方法は公式に公開されています。
PHP側のオフィシャルマニュアルは以下です。
PHP: How to change configuration settings – Manual
以下のような記述があります。When using PHP as an Apache module,
you can also change the configuration settings using directives
in Apache configuration files(e.g.httpd.conf) and .htaccess files.You will need “AllowOverride Options”
or “AllowOverride All” privileges to do so.上書きオプションを有効にして、
htttpd.confか.htaccessファイルで設定できます。という感じです。
実際にヘルプにしたがって設定を行うとどのようなことができるかを考えてみましょう。
wordpressのみアップロードファイルサイズを拡張
wordpressやphpMyAdminなどのPHPベースのアプリケーションを利用していて、
最初に遭遇するのが、アップロードファイルサイズの上限ではないでしょうか。
このファイルサイズ上限は通常はPHP.iniにて設定の変更を行っているでしょう。
ファイルアップロード上限の変更(PHP/phpMyAdmin/wordpress)
しかしこのアップロードするサイズについては、
wordpressで言えば、画像ファイルのサイズですしそう大きなサイズはUPしないでしょう。
問題はphpMyAdminです。
インポートやエクスポートを行う過程で、
大きなSQLファイルをアップロードすることになりファイルサイズの拡張を行うのです。
PHP.iniでファイルサイズを変更し100MBなどと設定すると、
phpMyAdminでも100MBまでアップロードが許可されます。
と、同時にwordpressのファイルアップロード側も同様に100MBに拡張されます。
正直、phpMyAdminだけで十分じゃないでしょうか。
私のサイトのエクスポートデータは260MBを超えてきていますので、
実質は300MBとか500MBといった設定を利用することになります。
データを整理すればSQLも小さくなるのですが^^; おいおいで。
設定方法による違い
PHP.iniの変更を行った際にはApacheを再起動してください。
PHP.iniで設定する場合
PHP.iniでファイルのアップロードサイズの
設定を行った場合の動作を確認してみましょう。
ここではわかりやすく500MBとして設定してみます。
1 2 3 4 5 |
; Maximum size of POST data that PHP will accept. post_max_size = 500M (中略) ; Maximum allowed size for uploaded files. upload_max_filesize = 500M |
phpinfoの確認
phpinfoにて設定値を確認すると、以下のように表示されます。
Directive | Local Value | Master Value |
---|---|---|
post_max_size | 500M | 500M |
upload_max_filesize | 500M | 500M |
wordpressのファイルアップロード
wordpressのメディアアップロード画面でも正しく拡張されています。
phpMyAdminのインポート
phpMyadminのインポート画面でも正しく拡張されています。
httpd.confで設定する場合
httpd.confで設定を行う場合の方法は以下の投稿でご紹介しています。
※PHPはApacheモジュールとして実行した場合の設定です。
PHP.iniに設定する設定値はhttpd.conf・.htaccessに対しても設定が可能
今回のpost_max_sizeとupload_max_filesizeの設定でいえば、以下のような記述になります。
1 2 3 4 5 6 7 8 |
<Directory "C:/Apache/htdocs/"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all php_value post_max_size 250M php_value upload_max_filesize 250M </Directory> |
設定を反映したらApacheを再起動します。(PHP.iniは変更していません)
phpinfoの確認
phpinfoにて設定値を確認すると、以下のように表示されます。
Directive | Local Value | Master Value |
---|---|---|
post_max_size | 250M | 500M |
upload_max_filesize | 250M | 500M |
wordpressのファイルアップロード
wordpressのメディアアップロード画面でも正しく拡張されています。
phpMyAdminのインポート
phpMyadminのインポート画面でも正しく拡張されています。
.htaccessで設定する場合
.htaccessで設定を行う場合の方法は以下の投稿でご紹介しています。
PHP.iniに設定する設定値はhttpd.conf・.htaccessに対しても設定が可能
今回のpost_max_sizeとupload_max_filesizeの設定でいえば、
.htaccessに以下のような記述を行います。
1 2 |
php_value post_max_size 25M php_value upload_max_filesize 25M |
.htaccessでは当然ながらApacheの再起動は不要です。
phpMyAdminおよび、wordpressのディレクトリの両方に対して、
.htaccessを配置しています。
phpMyAdminは25MB、wordpressは75MBで設定しています。
ここまでのディレクトリ構成は以下のようになっています。
phpinfoの確認
phpinfoにて設定値を確認すると、以下のように表示されます。
Directive | Local Value | Master Value |
---|---|---|
post_max_size | 25M | 500M |
upload_max_filesize | 25M | 500M |
wordpressのファイルアップロード
wordpressのメディアアップロード画面でも正しく拡張されています。
phpMyAdminのインポート
phpMyadminのインポート画面でも正しく拡張されています。
※個別に75MBを指定しています。
さいごに
こうしてApacheに対してPHPの設定を行うことで、
Apacheが持つ条件指定でPHPの各設定を
切り替える動作をさせることができるようになります。
こうすることで、phpMyAdminのみインポート・エクスポート用に、
アップロードファイルサイズを大きく設定して、
wordpressでは本来の8MBのままで運用を行うといったことが可能になります。
関連記事
-
MySQLのGROUP_CONCATの値が途中で切れる場合の対応(WordPress,PHP)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
RSS購読ボタンをサイドバーウィジェットにJetpackを利用して表示する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
PHPをインストール後に[msvcr71.dllがないためプログラムを開始できません]という場合
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にInsert Headers and Footers-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
VaultPress™を利用して運用中のメインサイト(Primary)を復旧する手順
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
19_05.Flickr Videoプレーヤー表示には、JetpackのFlickr動画ショートコード埋め込み
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
WordPressインストール後のパーマリンク設定
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
wordpressに投票機能を追加するPOLLDADDY v2.0.21-プラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
印刷をJetpack by WordPress.comで行う動作
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
ClickTale®無料アクセス解析の利用にClickTale_v1.10-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
Comment
[…] 参考URL:PHP.iniに設定する設定をhttpd.confや.htaccessに対して行うメリット […]