設定 - php.ini 読み込み




私のphp.iniはどこですか? (8)

PHPには、どの設定ファイルがロードされているかを示す2つのネイティブ関数があります:

設定に応じて、 ApacheCLIは異なるiniファイルを使用することがあります。 ここに2つのソリューションがあります:

Apache:

ちょうどPHPファイルに次の行を追加し、ブラウザで開きます

print php_ini_loaded_file();
print_r(php_ini_scanned_files());

CLI:

端末にコピー貼り付け:

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'

数年前、Apache 2.2xとPHP 5.3.1をLinuxサーバーにインストールしました。 私は.tar.gzを使って、(RPMや何を持っているのではなく)指示どおりに構築しました。 そして、すべては元気だった。

今日私はPHPライブラリのように思えるthisをインストールする必要があります。 私はインストールをするためのすべてのステップを踏んで、 $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

大きな洞察は、最後のステップはphp.iniを設定することですが、私のシステムにはphp.iniはありません。 恐怖の恐怖。 PHPはうまく動作しますが、誰かがGUIを使ってDB2を使うことができるように、私が使用したいこの新しく抱かれたibm_db2の機能を除いてはもちろんです。 (私は失敗し、ibm_db2関数が利用できないことを示す小さなPHPスクリプトを試しました)。

私は数年に1度PHPを扱わなければならないので、 DB2へのWebベースのGUIアクセスを可能にするためにできることについて、非常に基本的なレベルで教えてください。


SAPIの場合:php-fpm

php.infoファイルを作成する必要はありません(これは、世界が読めるようにしておきます)。 コマンドラインで:

php-fpm -i | more

出力のどこかに、次の行が表示されます。

Configuration File (php.ini) Path => /etc

ここでより完全な説明があります: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/ : https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/


このコマンドは、あなたがそれを見つけるのを助けるはずです

php -r "phpinfo();" | grep php.ini

これは私のために働く:

php -i | grep 'php.ini'

次のようなものが表示されます。

Loaded Configuration File => /usr/local/lib/php.ini

ps php.ininのパスだけを取得する

php -i | grep /.+/php.ini -oE

コマンドウィンドウタイプ

php --ini

それはあなたのようなパスを表示します

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini

上記のコマンドがうまくいかない場合は、これを使用してください

echo phpinfo();

コマンドラインで次のコマンドを実行します。

php --ini

次のようなものが得られます:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini

それは私のローカルのdev-machineからのものです。 しかし、2行目は興味深いものです。 何も言及されていない場合は、最初のものを見てください。 それはPHPがphp.ini探すパスです。

スクリプトでphpinfo()を使用して同じ情報をgrepし、ブラウザで呼び出すことができます。 その出力の最初のブロックに記載されています。 php -iはコマンドラインでも同じですが、かなり不快です。


次のコマンドを使用して、linuxでphp.iniファイルのパスを探します。

[[email protected] ~]# locate php.ini
/etc/php.ini
/etc/php.ini.rpmnew
/usr/share/doc/php-common-5.4.45/php.ini-development
/usr/share/doc/php-common-5.4.45/php.ini-production


または別の方法で試してみてください

[[email protected] ~]# php --ini
その結果を示します


find / -name php.ini

ねえ...それは私のために働いた!





php-ini