“libphpNN.so”の–with-config-file-pathの値を確認
PHP(だけでなくApacheも同じ)などのデフォルト設定ファイルのパスは、
その実行ファイルなり、モジュールなりがコンパイルされた時点で、
どこのパスの「php.ini(やhttpd.conf)」を参照するかの情報を固定で保持しています。
その為、コンパイルされた時の設定によって、
デフォルトの設定ファイルパスは変わる(変えられる)ことになります。
ここではMacOSXバンドルlibphp5.so(apacheモジュール)をコンパイルした際の
「–with-config-file-path」オプション指定を確認する手順についてご紹介します。
概要
“libphpNN.so”の–with-config-file-pathの値を確認
ここで「libphpNN.so(NNはバージョンの値)」のと記述しているのは、
Apacheにモジュールとして組み込んで利用されることが多いPHPの、
各種デフォルト設定は「Apacheモジュールとしての」情報を確認する必要があります。
以下で紹介する内容です。
それでも、こういう確認方法があるということをご紹介しておきます。
なお、以下に示す内容は、
あくまでも当環境に導入されているPHPモジュールファイルの内容を示す1例です。
その為、各自がインストールしているPHPモジュール自身の内容を確認されることをお勧めします。
「–with-config-file-path」オプションは、
PHP実行ファイルがコンパイルされた時に指定するものです。
その為、コンパイル時の設定によってパスは如何様にも変更が可能なためです。
MacOSX10.7標準バンドルPHPモジュールの「–with-config-file-path」値確認
MacOSXには標準でApache利用を想定したPHPが最初から組み込まれています。
httpd.confでモジュールをロードするだけで使え、
かつphp実行ファイル(CLI)も既にインストールされています。
そのphpモジュールをAapcheで実行した時に利用される
デフォルト「php.ini」のファイルパスを指定するオプションが、
「–with-config-file-path」オプションです。
調べる詳細な方法は以下でご紹介しています。
上記方法でphpinfo()をブラウザから確認すると、以下のように表示されます。
初期設定が以下の設定であることが確認できました。
標準PHP | MacOSX Lion(10.7.5) |
---|---|
php | /usr/bin/php |
php.iniデフォルト(php) | /etc/php.ini |
php.ini.SAMPLE | /private/etc/ |
- | php.ini.default |
module | /usr/libexec/apache2/libphp5.so |
php.iniデフォルト(libphp5.so) | /etc/php.ini |
※PHP実行ファイルで実行した場合でも同様の設定がされています。
※php.iniのテンプレートとして提供される「php.ini.default」はファイル検索で調査。
※グレー文字は以下で確認しています。
このようにしてphpの実行ファイルから、
php.iniファイルをどこに置けばいいのか?という疑問の解決が行えます。
以下参考までにその他のインストール形態を採用した場合の例もご紹介します。
MacPortでインストールしたPHPモジュールの「–with-config-file-path」値確認
MacPortからApacheのモジュールをインストールした場合には、
導入されたPHPモジュールの情報を確認する必要があります。
MacPortを利用してApacheモジュールをインストールする手順は、
以下でご紹介しています。(ここではphp5.3で例示しています)
インストールしたPHPのApacheモジュールは、
「/opt/local/apache2/modules/mod_php53.so」に展開されます。
この「mod_php53.so」が利用しているデフォルト設定を確認します。
上記方法でphpinfo()をブラウザから確認すると、以下のように表示されます。
※Apache,httpd.conf設定については割愛します。
初期設定が以下の設定であることが確認できました。
PHP | MacPort |
---|---|
php | /opt/local/bin/php53 |
php.iniデフォルト(php) | /opt/local/etc/php53/ |
php.ini.SAMPLE | /opt/local/etc/php53/ |
- | php.ini-development |
- | php.ini-production |
module | /opt/local/apache2/modules/mod_php53.so |
php.iniデフォルト(libphp5.so) | /opt/local/etc/php53/ |
※php.iniのテンプレートとして提供される「php.ini-development等」はファイル検索で調査。
※グレー文字は以下で確認しています。
MAMPでインストールしたPHPモジュールの「–with-config-file-path」値確認
MAMPはMac上でApache,MySQL,PHPを一括して導入できる
便利なパッケージで、自宅サーバーなど手軽に環境を
構築したい場合などに広く利用されています。
Apache,MySQL,PHPなどのインストール段階の躓き、挫折などがなくなって、
簡単にインストールできるメリットがあります。
しかし、バージョンがパッケージ提供のものに固定されたり、
本来使う予定のないものが含まれてくるなどマイナス要素もない訳ではありません。
MAMPではすべてがお任せということもあって、
何がどこにインストールされてくるのかも、
非常にわかりにくい部分があります。
それぞれのインストールと環境については以下でご紹介しています。
MAMPでも当然PHPが付属してきます。
初期設定(当環境)では以下の設定でした。
LoadModule php5_module /Applications/MAMP/bin/php/php5.2.17/modules/libphp5.so
以下に、各バージョンのPHPがインストールされていることが分かります。
/Applications/MAMP/bin/php/php5.2.17/modules/
この各PHPフォルダで今回はコントロールパネルで使用設定をしている、
PHP5.6.10でご紹介をします。
PHP5.6.10ですので上記の通り、
展開先は/Applications/MAMP/bin/php/php5.6.10/
になっています。
ただしApacheモジュールは、選択したバージョンディレクトリ配下の
/Applications/MAMP/bin/php/php5.2.17/modules/libphp5.so
moduleディレクトリにそれぞれバージョンごとに格納されていることが、
Apacheのhttpd.confの内容から読み取れます。
LoadModule php5_module /Applications/MAMP/bin/php/php5.2.17/modules/libphp5.so
今回は5.1.6ですので以下のモジュールが利用されます。
/Applications/MAMP/bin/php/php5.6.10/modules/libphp5.so
前述方法でphpinfo()をブラウザから確認すると、以下のように表示されます。
※Apache,httpd.conf設定については割愛します。
初期設定が以下の設定であることが確認できました。
PHP | MAMP |
---|---|
php | /Applications/MAMP/bin/php/php5.6.10/bin/php |
php.iniデフォルト(php) | /Applications/MAMP/bin/php/php5.6.10/conf/ |
php.ini.SAMPLE | /Applications/MAMP/bin/php/php5.6.10/conf/ |
- | php.ini |
module | /Applications/MAMP/bin/php/php5.6.10/modules/libphp5.so |
php.iniデフォルト(libphp5.so) | /Applications/MAMP/bin/php/php5.6.10/conf/ |
※「php5.6.10」部分は有効化しているバージョンによって変わります。
※php.iniのテンプレートとして提供されるファイルはMAMPではそのまま「php.ini」として提供。
※グレー文字は以下で確認しています。
このようにして、AapcheモジュールとしてPHPを動作させた場合、
ブラウザでphpinfo()を見ることで、
PHPの各種デフォルト設定を確認することができます。
当サイト内のコンテンツおよび画像を含むすべてにおいて、管理人アルゴリズンが著作権を保持しております。
当サイトでご紹介しております写真等につきましては著作権の放棄はしませんが、
ライセンスフリーでご利用いただいて構いません。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
サイト内コンテンツを引用される際には、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
公開日: