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

Google or AdMax Promotion (srv)

Apacheが利用している現在のPHPモジュールからphp.ini(デフォルト)へのフルパスを調べる

ApacheはPHPのモジュールを読み込んで「Apache Handler」として実行できます。
「LoadModule」によってモジュールを読み込むだけで、
簡単にApacheからPHPを利用することができ便利です。
しかしその読み込んだモジュールが、
どこの「php.ini」をデフォルトで利用するのかを考えたことはありますでしょうか。
ここでは読み込んだPHPモジュールによって、
デフォルトの「php.ini」の場所がどう変わるのかという点をご紹介します。

 

Apacheが利用している現在のPHPモジュールからphp.ini(デフォルト)へのフルパスを調べる

サーバーやPCにPHPをインストールた場合、
ターミナルからPHPのバージョンを確認することもあるかもしれません。

しかし、利用目的が「Aapche Handler」として、

モジュール実行する場合には、
PHP実行ファイルから直接バージョンを確認しても意味がありません。

 

Aapche HandlerとしてPHPモジュール有効化

「Aapche Handler」としてモジュールをロードしている場合、
モジュール自身の情報を確認する必要があります。

Apacheで読み込みを行う標準でバンドルされているPHPの情報は、
既に配置されているhttpd.conf上にコメントアウトされ記述されています。

コメントアウトを解除して有効にするだけでPHPがモジュールとして利用可能になります。

osx-php-setting_st22

バンドルApacheのphpモジュールロード・phpデフォルト設定

 

なお、httpd.confファイルは通常ではターミナルから編集する必要があります。
ここではFinder操作ができるエディタで編集を行っています。

Apacheの再起動とphpinfo()の実行

httpd.confを編集したら、Apacheの再起動を行います。

標準Apache(OSX10.7)ではシステム環境設定から再起動が行えます。
※10.8以降はターミナルからの操作が必要です。

「Web共有」を一旦OFFにして、すぐにONにすると再起動できます。

osx_apache_ini_std_st04

Web共有(有効)・OSX標準Apacheの有効化

次に、標準Apacheのドキュメントルートに対して、
以下を記述した「index.php」ファイルを配置します。
※ファイル名は何でも構いません。

ドキュメントルートはhttpd.confにパスが記述されています。

「/Library/WebServer/Documents/index.php」を配置したら、
ブラウザを起動し「http://localhost/index.php」にアクセスし、
「phpinfo()」の情報を確認します。

以下のように表示されます。

osx-php-setting_st23

バンドルApacheのphpinfo()情報・phpデフォルト設定

 

Configure Command部を以下に転記しておきます。

 

青線部では「–with-config-file-path=/etc」と表示されています。
このオプション指定によって、デフォルトの「php.ini」ディレクトリが決定されます。

下の行で「Configuretion File(php.ini)Path => 」で表示されているパスが、
デフォルトで「php.ini」が読み込まれるファイルパスを示しています。
※オプション設定値と同じ。

このことから「Aapche Handler」としてPHPをモジュール実行した場合、
デフォルトとして「/etc/php.ini」ファイルが読み込まれることがわかります。

 

ただし、php.iniは以下のようなディレクトリに配置しても、
それぞれが有効になります。

  1. Apache 2 における PHPIniDir ディレクティブ(httpd.confで指定)
  2. 現在の作業ディレクトリ(URLのカレントディレクトリ上)
  3. Web サーバーのディレクトリ(ドメインのルートディレクトリ上)
  4. コンパイル時のオプション –with-config-file-path(デフォルトパス)

 

ローカルサーバーとして運用する上では、
このデフォルトパスを意識する必要はそんなにないかもしれません。

httpd.confに対して「PHPIniDir ディレクティブ」で、
直接、php.iniを設定すれば、その設定を有効にすることができます。

ただ、最終的に読み込まれる「php.ini」が、
このデフォルト設定であることは知っておいた方が困惑することが減るかもしれません。

 


プロモーション

Google or AdMax Promotion (srvpos)

公開日:

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

AdMax Promotion

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

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