Centosの/ usr/local/libにあるphp.iniに変更を加えた場合、たとえば、php.iniのすべてのコンテンツを消去してApacheを再起動すると、すべてが正常に機能し、変更が適用されていないように見えます。 ..
私はphp.iniを検索しましたが、システムの1つの場所にあります...問題は何ですか?どうすれば修正できますか?
使用されているphp.iniが不明な場合は、Webフォルダーに新しいファイルを作成し、phpinfo.php
たとえば、次のコンテンツ
<?php
phpinfo();
?>
次に、ブラウザーでURLを開きます( http://www.example.com/phpinfo.php )。使用されているphp.iniへのパスが表示されます。
正しいファイルを特定したら、必要な変更を加え、必ず先頭のを削除してください。設定を有効にするものがある場合。
apacheを再起動してphpinfoページをリロードすると、変更した設定が表示されます。そうでない場合は、phpの設定を上書きする.htaccessファイルがウェブルートにないことを確認してください。
これらのスレッドを読むことをお勧めします。
ヒント:
これに従ってください:
ウェブルート内にファイルを作成し、好きな名前を付けます。私は通常x.phpを好みます
# vim x.php
ファイルの内容は次のようになります。
<?php
phpinfo();
?>
このファイルをブラウザで次のように開きます。
http://server_ip/x.php
これにより、Apacheが使用しているphp.iniの場所が表示されます。そのphp.iniを編集すれば動作します。
私のphp.ini
ファイルに非常に露骨なエラーが見つかりました。一部のphp.ini設定が有効になりませんでした。
Php7.0以降、#
文字は有効なコメントスターターではありません。 ;
のみが受け入れられます。ただし、vim
などの多くのエディターでは、「#
」の後に文字がコメントとして表示されるため、php.iniファイルの特定の部分が無視できるコメントではないことを認識できない場合があります。
私の場合、提出されたphp.ini
には以下が含まれています。
# ""
max_input_vars = 3000
前の行はコメントではないため、max_input_vars = 3000
は有効になりませんでした。これには副作用があり、次の行が無視されます。
に変更
; ""
max_input_vars = 3000
問題を解決しました。
ここではまだコメントできませんが、変更を維持してApacheを再起動すると機能しますか?
もしそうなら、その理由はおそらくPHPがApacheモジュールとして実行されることです。
Webサーバーを再起動せずに変更を有効にするには、代わりにphp-cgiを使用します。
このページ インストールと構成について説明します。 「Apacheモジュールとして」または「CGIバイナリとしてのPHP 5」のページを検索します。
あなたのウェブルートにphp.iniファイルがあるかもしれません。