こんにちは。
いつも皆さんの質問や回答を参考にスキルアップを目指しております。

ちょっと分からない点にぶち当たりましたのでどなたか教えてください。

当方、Fedora8にてWebサーバーを構築しております。
構成は下記の通りです。
Fedora8
Apache2.2.9
PHP4.4.9
PostgreSQL8.2.11

現在、正常に稼働しているように見えるのですが、phpinfo()を見てみると
確かに【Configuration File (php.ini) Path】の値が
【/usr/local/php-4.4.9/lib】となっているのですが、そこのディレクトリを
見てもphp.iniが見当たりません。

find / -name php.ini

にてファイルを探してみたら【/etc/php.ini】と表示されたので
開いて編集し、httpdの再起動をしてみたのですが、設定の変更が
反映されません。

いったいどこの設定ファイルを読み込んでいるのでしょうか?
設定ファイルが指定のパスに見つからない場合、デフォルトで読み込む
ファイルがあるのでしょうか?

参考までに変更しようとした項目は下記です。
session.use_trans_sid を off から on へ変更したいのですが、
0を1に変えても変化がありませんでした。

どうかよろしくお願いいします。

A 回答 (4件)

マニュアルによるとiniファイルの読込順は以下の通り。


(※Windows部分を除く)
* SAPI モジュール特有の場所 (Apache 2 における PHPIniDir ディレクティブ、 CGI/CLI 版における -c コマンドラインオプション、 NSAPI における php_ini パラメータ、 THTTPD における PHP_INI_PATH 環境変数)
* PHPRC 環境変数。
* 現在の作業ディレクトリ (CLI を除く)
* Web サーバのディレクトリ (SAPI モジュールの場合)、 もしくは PHP ディレクトリ (そうでない Windows の場合)
* コンパイル時のオプション --with-config-file-path

http://jp.php.net/manual/ja/configuration.file.php

Configuration File (php.ini) Path のパスにない原因はわからないけど。
php-SAPI.ini (ここで SAPI は使用する SAPI 名。 たとえば php-cli.ini や php-apache.ini) が存在する場合、 php.ini の代わりに使用されます。
ってことなんで
find / -name "php*.ini"
で探してみるってのも手。

あと
session.use_trans_sid
はPHP <= 4.2.3 では PHP_INI_ALL。PHP <= 5 では PHP_INI_PERDIR。
ってことなんで、
php.ini、.htaccess または httpd.confでも設定できますね。

http://jp.php.net/manual/ja/ini.list.php
http://jp.php.net/manual/ja/configuration.change …
    • good
    • 0

>もし消えてしまった場合はいったいどこのファイルを読み込んでいるのでしょうか?



無い物は読めないので、何も読んでないのでしょう。
すべての設定値は言語のデフォルト。
    • good
    • 0

/usr/local/php-4.4.9/lib にあった php.ini が消えてしまった(間違って削除してしまった)ということ

では?

この回答への補足

もし消えてしまった場合はいったいどこのファイルを読み込んでいるのでしょうか?

補足日時:2009/05/29 11:41
    • good
    • 0

phpinfo()関数だけのHTMLを作成してブラウザーで表示すると、参照しているphp.iniを確認できます。

この回答への補足

>現在、正常に稼働しているように見えるのですが、phpinfo()を見てみると
>確かに【Configuration File (php.ini) Path】の値が
>【/usr/local/php-4.4.9/lib】となっているのですが、そこのディレクトリを
>見てもphp.iniが見当たりません。

このような状況です。

補足日時:2009/05/21 01:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング