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のままで運用を行うといったことが可能になります。
関連記事
-
-
ClickTale®無料アクセス解析の利用にClickTale_v1.10-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
VaultPress™オンラインバックアップサービスの利用登録
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
GoogleAnalyticsの標準アナリティクスコードを取得する(追加)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
WordPressインポートで発生したスラッグ重複を一発解決
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
wordpressの複数バージョン違いをテスト(動作確認)する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
10.スペル&文法チェック-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
15.Google+ プロフィール-Jetpack by WordPress.com
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
(復旧可能)私はこうして「JetPackのサイト統計がリセットされた」
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
WordPressのインストールディレクトリに配置される.htaccess作成タイミング
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
-
wordpressサイトにさりげなく表示されたスマイルマーク(^-^)は何か
Google or AdMax Promotion(it) 禁断の機能がau公式 …
Comment
[…] 参考URL:PHP.iniに設定する設定をhttpd.confや.htaccessに対して行うメリット […]