私は現在、正しいphp.iniファイルを見つけて編集し、Apacheを再起動して、変更が行われ、困惑しているようにしています。
私は3つの異なるphp.iniファイルを見つけました(なぜ3つあるのか分かりません)これがファイルの見つけ方です
$ Sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/Apache2/php.ini
/etc/php5/cgi/php.ini
私も…。
$ Sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
私はそれらをすべて(念のため)必要な設定に変更しました。
を使用してApacheを再起動しました
Sudo service Apache2 restart
結果...
* Restarting web server Apache2
ページをリロードすると、php.iniファイルが更新されていないことがわかりました。
私はこれを知っています
echo ini_get('post_max_size');
これは20Mに変更されるはずでしたが、まだ2Mでした
Apacheサーバーを停止し、正しい設定でphp.iniファイルを再読み込みすると考えて、コンピューターを再起動しましたが、残念ながらその試みも失敗しました。
干渉する可能性のある別のphp.iniファイルが存在する可能性はありますか?
そこにある3つのファイルは、それぞれ異なる用途向けです。
/etc/php/5.6/cli/php.ini
は、ターミナルでphp
を実行して見つけたCLI PHPプログラム用です。
/etc/php/5.6/cgi/php.ini
は、このセットアップでは特に使用されないphp-cgiシステム用です。
/etc/php/5.6/Apache2/php.ini
は、Apacheが使用するPHPプラグイン用です。 これは編集する必要があるものです変更をApacheセットアップに適用するため。
/etc/php/5.6/fpm/php.ini
はphp5-fpm
プロセッサ用で、PHP処理(NGINXからphp5-fpm
へのハンドオフなど)用のfastcgi互換の「ラッパー」であり、実行されますシステム上のスタンドアロンプロセスとして(Apache PHPプラグインとは異なり)
Ubuntuのバージョンが16.04より低い、
/etc/php/5.6/
、/etc/php/7.0/
、/etc/php/7.1/
などが置き換えられます。/etc/php5/
など。それ以外の場合、これらのパスは正確なままです。これを環境に合わせて調整し、5.6
または番号を環境に存在する実際のバージョンフォルダーに置き換えます。
ブラウザでこのスニペットを含むスクリプトを実行してください<?php phpinfo(); ?>
、次にLoaded Configuration Fileのようなものを検索してみてください。このエントリは、ApacheサーバーでPHPが使用するphp.iniを指定します。
CLIが使用しているphp.ini
を見つけるには、次を実行します。
php -i | grep 'php.ini'
出力例:
$ php -i | grep 'php.ini'
Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
php7 Ubuntu 16.4の場合
/etc/php/7.0/Apache2/php.ini