Ubuntu は Debian をベースにしています。 Debian とその派生物は、php と apache の拡張機能を管理するためにややユニークな方法を使用しています。
リストしたファイル:
-
/etc/php/7.0/apache2/conf.d/20-xdebug.ini /etc/php/7.0/mods-available/xdebug.ini へのシンボリックリンクです
-
/etc/php/7.0/cli/conf.d/20-xdebug.ini /etc/php/7.0/mods-available/xdebug.iniへのシンボリックリンクでもあります
- /etc/php/7.0/mods-available/xdebug.ini を編集できます 変更は、有効になっているすべての場所に影響します。
コマンド phpenmod
そして phpdismod
PHP モジュールを有効または無効にするために使用できます。これらは a2enmod
のようなものです ここで読むことができます。たとえば、sudo phpdismod xdebug
で XDebug をオフにします。 . sudo phpenmod xdebug
でオンに戻します .変更は常に mods-available
に保存されるため、オンとオフを切り替えても構成が保持されます ただし、PHP は構成のためにそのディレクトリを調べません。実際、phpdismod
でモジュールを「無効」にすると、 、適切なフォルダーからシンボリックリンクを削除して、モジュールがphp構成で有効にならないようにするだけです.
最後に /etc/php/7.0/apache2/php.ini
有効または無効にできるモジュールではない、システム全体の構成の場所です。
したがって、構成は xdebug.remote_port = 9000
のように変更されます /etc/php/7.0/mods-available/xdebug.ini
に入る必要があります XDebugに関連しているためです。両方の場所に配置するのは (混乱を招くため) 良い考えではありませんが、最後にロードしたものが優先されます。 mods-available ディレクトリ内の多くのファイルのファイル名に数字が含まれているのはこのためです。これらのファイルは正しい順序でロードされます。
phpinfo()
を使用 どの設定値が読み込まれたか、どの ini ファイルから読み込まれたかについての詳細情報を取得する関数。例:
$ php -r "phpinfo();"
または
$ php -r "phpinfo();" | grep xdebug
これは、PHP のコンパイル方法によって異なります。 .ini
のリストを確認して、PHP がどのようにコンパイルされたかを見てみましょう。 ロードしているファイルとロード元のファイル
コマンド ラインから次のように入力して確認します。
$ php -i | grep .ini
または、一時的な PHP ファイルを作成し、ブラウザーでアクセスすることで、これを知ることができます。見つけにくい名前を付けて、完了したらすぐに削除してください。例:/info-949w30.php
.なんで?このレポートは、完全なファイル システム パス、バージョン番号、およびその他の詳細を漏らす可能性があるためです。
<?php phpinfo();
PHP には、コンパイル時に確立される 2 つのディレクティブがあります。
--with-config-file-path=path/to/main.ini
--with-config-file-scan-dir=/scan/this/dir/for/other.ini
ファイル。
メインの .ini
ファイルが最初にロードされ、次に scan-dir 内のファイルがアルファベット順にロードされます。多くの .ini
が表示されるのはそのためです。 数値プレフィックスを使用するファイル。これは、ロード順序を制御する簡単な方法です。ディレクトリ内の他のファイルに関連してファイルの名前を変更する。