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のままで運用を行うといったことが可能になります。
関連記事
-
RSS購読ボタンをサイドバーウィジェットにJetpackを利用して表示する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
19_09.Vimeoプレーヤー表示には、Jetpackのvimeo動画ショートコード埋め込み
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Google+™への共有をJetpack by WordPress.comで行う動作
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
サブディレクトリに新規インストールする(した)場合のトップページURLの変更
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
WordPressのサイドバーにGoogle™サイト内検索(カスタム検索エンジンv2)を設置する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にHeader and Footer-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Gravatarアカウントに外部プロフィールやWordPress(XML-RPCのAPI)を認証する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
wordpressでメディアページ(ギャラリー、gallery)を表示する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(phpMyAdmin)タイムアウト設定の動作と確認
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にCustom Headers and Footers-wordpressプラグインは利用・・・できない
Google or AdMax Promotion(it) 禁断の機能がau公式 …
Comment
[…] 参考URL:PHP.iniに設定する設定をhttpd.confや.htaccessに対して行うメリット […]