71

古い apache から nginx と php 5.3.10 に移行しました。そして、必要に応じて php.ini を変更しようとしたところ、そのうちの 3 つが見つかりました。

$ locate php.ini

/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini

どちらを編集すればよいですか?

4

4 に答える 4

76

一般的に言えば、cli/php.iniファイルは PHP バイナリがコマンドラインから呼び出されるときに使用されます。 コマンドラインから
実行されていることを確認できます。php --ini

fpm/php.iniPHP が FPM として実行されている場合に使用されます。これは、nginx インストールの場合です。 また、Web サーバーが提供する php ページからの
呼び出しを確認できます。phpinfo()

cgi/php.ini、あなたの状況では、おそらく使用されません。


2 つの異なるphp.iniファイル(1 つは CLI 用、もう 1 つは Web サーバーからページを提供するため)を使用することは非常に頻繁に行われ、主な利点が 1 つあります。それぞれの場合に異なる構成値を持つことができます。

通常、php.iniWeb サーバーによって使用されるファイルでは、かなり短い を指定します。Web ページは高速に提供される必要があり、ページが数十秒(デフォルトでは 30 秒)max_execution_time以上必要な場合は、おそらく次の理由によるものです。バグの - ページの生成を停止する必要があります。 一方、かなり長いスクリプトを crontab から (または手動で)起動することができます。つまり、使用されるファイルは. これらのスクリプトでは、 で指定したよりもはるかに長いを指定します。
php.inicli/max_execution_timecli/php.inifpm/php.ini

max_execution_timeは一般的な例です。もちろん、他のいくつかの構成ディレクティブでも同じことができます。

于 2012-05-19T14:15:19.463 に答える
5

Pascal の回答は詳細で有益でしたが、誰もが使用方法を知っているという前提で、いくつかの重要な情報に言及していませんでした。phpinfo()

そうでない人のために:

次のような Web サーバーのルート フォルダーに移動します。/var/www/

このフォルダー内に、というテキスト ファイルを作成します。info.php

ファイルを編集して入力しますphpinfo()

次のようなファイルに移動します。http://www.example.com/info.php

ここでは、次のphp.iniパスが表示されLoaded Configuration Fileます。

phpinfo

完了したら必ず削除info.phpしてください。

于 2017-05-22T15:46:42.900 に答える
3

PHP5-FPMを使用しているので、私にとってはfpmです。問題の解決策は、ユニバーサル php.ini を作成し、次のように作成されたシンボリック リンクを使用することです。

ln -s /etc/php5/php.ini php.ini

その後、行った変更は 1 つの一般的な .ini ファイルになります。ただし、これはおそらく最善の解決策ではありません。1 つの場所で 1 つのファイルを文字通り使用するように、構成を変更することを検討することをお勧めします。一緒にハッキングされた複数の場所ではありません。

于 2012-05-19T14:23:03.517 に答える
2

使用されている php.ini ファイルは次のとおりです。

  • phpinfo()を php ページに追加してページを表示する (下の図のように)
  • シェルから、次のように入力します: php -i

次に、ロードされた構成ファイルで情報を見つけることができます (ここでは /user/local/etc/php/php.ini です)。

場合によっては、(none) を指定することもありますが、この場合は、ここにあるカスタム php.ini を配置するだけで済みます: http://git.php.net/?p=php-src.git;a=blob ;f=php.ini-プロダクション;hb=HEAD

この回答がお役に立てば幸いです。

于 2017-05-24T19:09:37.887 に答える