web-dev-qa-db-ja.com

どのphp.iniが使用されているかを知る方法は?

Linux Ubuntuサーバーでphp.iniファイルがあるパスを検索し、コマンドfind / -name php.iniを実行すると、多くのphp.iniが見つかりました。それでは、php.iniが置かれているphpスクリプトWebページから正確に知る方法は?

46
pheromix

php_ini_loaded_file() を使用できます

Php.netから取得:

_$inipath = php_ini_loaded_file();
if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
_

php_ini_scanned_files() を確認することもできます

また、CLIからPHPスクリプトを実行する場合、サーバー(nginxまたはApache)が実行する場合とは異なる_php.ini_ファイルが使用される可能性があることに注意してください。 。

別のオプション:

  • _php -i|grep 'php.ini'_
  • ウェブルートに<?php phpinfo();を含む_info.php_を作成し、ブラウザで実行します
54
Vlad Preda
_php --ini
_

WebサーバーSAPIの場合は、phpinfo()を使用します

出力例を次に示します。

_bash-3.2# php --ini
Configuration File (php.ini) Path: /usr/local/php5/lib
Loaded Configuration File:         /usr/local/php5/lib/php.ini
Scan for additional .ini files in: /usr/local/php5/php.d
Additional .ini files parsed:      /usr/local/php5/php.d/10-extension_dir.ini,
/usr/local/php5/php.d/20-extension-opcache.ini,
/usr/local/php5/php.d/40-openssl.ini,
/usr/local/php5/php.d/50-extension-apcu.ini,
/usr/local/php5/php.d/50-extension-curl.ini,
/usr/local/php5/php.d/50-extension-gmp.ini,
/usr/local/php5/php.d/50-extension-imap.ini,
/usr/local/php5/php.d/50-extension-intl.ini,
/usr/local/php5/php.d/50-extension-mcrypt.ini,
/usr/local/php5/php.d/50-extension-mssql.ini,
/usr/local/php5/php.d/50-extension-pdo_pgsql.ini,
/usr/local/php5/php.d/50-extension-pgsql.ini,
/usr/local/php5/php.d/50-extension-propro.ini,
/usr/local/php5/php.d/50-extension-raphf.ini,
/usr/local/php5/php.d/50-extension-readline.ini,
/usr/local/php5/php.d/50-extension-xdebug.ini,
/usr/local/php5/php.d/50-extension-xsl.ini,
/usr/local/php5/php.d/60-extension-pecl_http.ini,
/usr/local/php5/php.d/99-liip-developer.ini
_
71
KingCrunch

PHPコンソールで使用されている場合に読み込まれる設定は、Webプロセスの設定とは異なります。ほとんどのPHPインストールには、PHPが付属しますApache用の.iniとCLI用の.ini。

コンソールコマンドに使用される構成ファイルを知るには、次を使用します。

_$ php -i | grep "Configuration File"
_

Webプロセスに使用されている構成ファイルを知るには、以下の手順を実行します

  1. 情報ファイルを作成します(できればルートフォルダーに)
  2. このファイルの内容は<?php phpinfo(); ?>である必要があります
  3. _Ctrl+F_および「構成ファイル」の検索
10
iGbanam

Phpメソッドphp_ini_loaded_fileを使用する必要があります(php 5.2.4以降のみ)

php_ini_loaded_file —ロードされたphp.iniファイルへのパスを取得する

pHPウェブサイトの例:

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
?>

ソース: phpサイト

5
darkheir

このようなファイルを置くだけです:

<?php
phpinfo();
?>

次に探す

Loaded Configuration File

php.iniファイルのフルパスが表示されます

3
Vahid Farahmand

簡単なページを作成すると、そこにリストされます!

<?php

phpinfo();

?>
2
Lee Armstrong

前述のように、「find/-name php.ini」はすべてのphp.iniファイルの取得に役立ちます。あなたが編集しているかもしれないものは、サーバーがコマンドを引き出しているものではないかもしれません!サーバーでphpの3つの異なるバージョンのphp.iniを見つけましたが、すぐに修正されました。

0
Jayanta Deka