レンタルサーバー選びの迷いを解決!全力サポートします

Google or AdMax Promotion (srv)

php実行ファイルからphp.ini(デフォルト)へのフルパスを調べる(MacOSXバンドルPHP)

Macにインストール(配置)したPHPの実行ファイルのバージョンなどが、
複数インストールされている場合にはphp実行ファイルも、
非常に多くインストールされることになります。
そうなると一体どのPHP実行ファイルを利用しているのか?
PHP実行ファイルがどこの「php.ini」をデフォルトで読み込んでいるのか?
そんな疑問を感じてしまう事もあります。
そんな時にはPHP実行ファイルから設定情報を確認してみるといいでしょう。

ここではMacOSXに標準でインストールされているPHPの情報を確認しています。
以下手順にて、実行ファイルの特定とファイルのフルパスが分かっていることとして進めます。

osx-php-setting_st12

実行ファイルの表示・phpデフォルト設定

 

php実行ファイルからphp.ini(デフォルト)へのフルパスを調べる

ここではMacOSXに標準でインストールされているPHP実行ファイルから、
デフォルト設定の情報を確認します。

デフォルト「php.ini」ファイルパスの定義タイミング

phpはコンパイルを行ったタイミングで、
デフォルトで参照する「php.ini」のパス情報を保持しています。
何も指定せずコンパイルをした場合は「/usr/local/lib」が利用されます。

ですが、多くの場合は「–with-config-file-path」オプションで、
個別にデフォルトのファイルパスを指定しコンパイルすることができ、
何らかのカスタマイズをしてコンパイルされています。

ターミナルからphp(CLI)の初期設定を確認する

 

コンパイル時にどのようなオプションを利用して、
コンパイルが行われたかを知るには、

実行ファイルに対して「-ini」オプションを付けて情報を表示します。

これはWebでphpinfo()を実行して表示される情報に似ています。
丁度、phpinfo()の情報ををターミナルで表示したようなものが確認できます。

以下のような情報です。

上記を確認する手順は以下のような操作で見れます(参考)

ターミナルを起動し、
先ほどFinderで表示しているphp実行ファイルをターミナルへドロップします。

osx-php-setting_st13

ターミナルへフルパス入力・phpデフォルト設定

 

これでファイルへのフルパスが入力され、
環境変数PATHの値の影響を受けず直接php実行ファイルを指定できます。

osx-php-setting_st14

フルパス指定完了・phpデフォルト設定

 

続けて「-ini」と入力します。

osx-php-setting_st15

「-ini」の入力・phpデフォルト設定

 

実行すると、前述したphpの情報が表示されます。
上部には「-v」で表示されるバージョン情報が表示されています。

osx-php-setting_st16

ini情報のターミナル表示・phpデフォルト設定

 

下部には「phpinfo()」で表示されてくるような各種情報が表示されます。

この中にデフォルトで読み込まれる「php.ini」へのパス情報が表示されています。

Configuration File (php.ini) Path => /etc
Loaded Configuration File => (none)
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)

osx-php-setting_st17

設定ファイル情報・phpデフォルト設定

 

この情報が、この実行ファイルphpを利用した際に、
デフォルトで読み込まれる「php.ini」ファイルのファイルパスになります。

このパス指定はphp実行ファイルが、
コンパイルされた時に決定され固定で変わる事はありません。

 

php.iniの存在確認

ではここで得られた「php.ini」へのファイルパスで確認をします。

「/etc」配下ですので不可視ディレクトリの為、フォルダの移動で確認します。

osx-php-setting_st18

デフォルトパスへ移動・phpデフォルト設定

 

移動し「php.ini」ファイルを確認しますが「php.ini」ファイルは存在していません。

osx-php-setting_st19

ファイル不存在・phpデフォルト設定

 

このターミナルで「-ini」で表示される情報は、
スクロールすると「phpinfp()」で表示されるさまざまな情報が表示され確認できます。

この表示されている設定はすべて、
php実行ファイル自身が保持しているデフォルト設定です。

その為「php.ini」が配置されていない場合はこの情報でPHPが動作します。

osx-php-setting_st21

その他のデフォルト構成情報・phpデフォルト設定

 

プロモーション

Google or AdMax Promotion (srvpos)

そもそもphp実行ファイルのphp.iniなんて関係ないんじゃないか?

はい。その通りです。

通常多くの場合、phpはApache側でモジュールとして読み込まれ、
直接このphp実行ファイルを利用しているわけではありません。
※CGI実行などの場合はまた異なりますが。

少なくともphp実行ファイルはCLI実行(ターミナルで実行)された場合に有効です。

よって、この「php.ini」のデフォルトはほぼ使われることは無いでしょう。

 

実際のところApache側で「Apache Handler」としてphpを実行しています。

その為、本当に知る必要があるものは、

Apacheが読み込んでいるphpモジュールがコンパイルされた際に、
どのようなデフォルト設定でコンパイルされたのか?

なのです。

この点については以下でご紹介しています。

 


AdMax Promotion

公開日:
最終更新日:2017/02/09

コンテンツナビ
すべて展開 | すべて省略

AdMax Promotion

カテゴリ
すべて展開 | すべて省略

QRコードからもこのURLを開けます。