2009年7月13日

[PHP-users 34661] Re:php.ini がopenされて いるのに読み込まれない

大瀧です。
皆様コメントありがとうございます。

phpinfo()とCLI版の php -i を比較すると、version等は同じです。

httpのエラーログ、syslog等には、エラーは特に記録されていません。

PHPIniDirで指定してみましたが、動作変わらずです。

指定ディレクトリのphp.iniをopenしますが、すぐcloseしてしまいます。

CLI版のPHPをトレースすると、以下のようになり,readしています。
====
...
open("/usr/local/apache2/php/php.ini", O_RDONLY) = 3
resolvepath("/usr/local/apache2/php/php.ini", "/usr/local/apache2/php/php.ini", 1024) = 30
ioctl(3, TCGETA, 0x08046C24) Err#25 ENOTTY
brk(0x08493548) = 0
brk(0x08497548) = 0
fstat64(3, 0x08045C30) = 0
brk(0x08497548) = 0
brk(0x08499548) = 0
fstat64(3, 0x08045B70) = 0
ioctl(3, TCGETA, 0x08045C04) Err#25 ENOTTY
read(3, " [ P H P ]\n\n ; ; ; ; ;".., 8192) = 8192
brk(0x08499548) = 0
...
====

html 中のphpから /usr/local/apache2/php/php.ini を
読み出して表示させることはできるので、
単純なパーミションの問題ではないようです。

いつからこうなったのか?というのは、残念ながら私もわかりません。
というのは、実際に管理しているのは外部の業者で、
 mbstringモジュールを追加するついでにphpのアップデートを行ったところ、
 インストール等は間違えていないはずなのになぜか動いていない、
ということで原因調査を頼まれた、という経緯です。
アップデート前に php.ini が読まれていたのかどうか、判然としません。
(現状で、特に以前と違って不都合が発生している様子がないので、
 以前も読まれていなかった可能性がある。)


どうもPHPではなくて、外部に要因がある感触ですね。
PHPのソースを追いかけてみて、影響を及ぼしそうな
OSの機能を考えてみることにします。

On 2009/07/10, at 21:31, mw_work@xxxxx wrote:

> 渡辺です。
> 送信あとなんとなく思いました。
> あんまり関係ない気が・・・します(陳謝)
>
> それだけでは、なので?
>
> 思ったことを列挙してみました。
> 1.環境がわかりにくいような・・・
> 2.エラーはある日突然発生したのでしょうか?
> 3.もしかして、権限周りとか?
> 4.エラーログとか?残っては無いのでしょうか?
> 5.strace で、CLI版も追ってみるとか?
>
> 以上です。失礼いたしました。
>
>
>> -----元のメッセージ-----
> 差出人: <mw_work@xxxxx>
> 受取人: "PHP-users ML" <php-users@xxxxx>
> 日付: 09/07/10 20:59
> 件名: [PHP-users 34648] Re: php.ini がopenされて いるのに読み込まれない
>>
>> 渡辺と申します。
>>
>> もしかして、CLI版と mod_php は違う
>> PHP だったりはしないでしょうか?
>> # versionの異なるPHPがあったりとか?
>>
>>
>>
>>> -----元のメッセージ-----
>> 差出人: "大瀧保広" <y.ohtaki@xxxxx>
>> 受取人: "PHP-users ML" <php-users@xxxxx>
>> 日付: 09/07/10 08:45
>> 件名: [PHP-users 34647] Re: php.ini がopenされているのに読み込まれない
>>>
>>> こんにちは、大瀧です。
>>>
>>> コメントに従って調べてみましたが、chrootは行っていないようです。
>>>
>>> #CLIに対する言葉は mod_phpじゃなくてapache2handler?
>>>
>>> On 2009/07/09, at 15:54, ikari-ml@xxxxx wrote:
>>>
>>>> 碇と申します
>>>>
>>>> まとはずれかもしれませんがchrootしてるとかないですがね?
>>>>
>>>> On Thu, 9 Jul 2009 13:21:44 +0900
>>>> 大瀧 保広 <y.ohtaki@xxxxx> 様wrote:
>>>>
>>>>> こんにちは、大瀧と申します.
>>>>>
>>>>> Solaris 10 (i386) + Apache 2.0.63 + PHP5.2.10 な環境で
>>>>> バーチャルホスティングサービスを提供しています。
>>>>> mod_php のときだけ php.ini が読み込まれないという現象が起きており、
>>>>> 修正の糸口が見つけられず、困っています。
>>>>>
>>>>>
>>>>> 以下、確認したことです。
>>>>>
>>>>> php の configure command
>>>>>
>>>>> './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--enable-zend-multibyte' '--enable-mbstring=shared'
>>>>> '--enable-mbregex' '--with-libxml-dir=/opt/csw' '--with-iconv-dir=/opt/csw/lib' '--with-gd' '--with-jpeg-dir=shared'
>>>>> '--with-zlib-dir=shared' '--with-config-file-path=/usr/local/apache2/php'
>>>>>
>>>>> CLI版のphpで php -i した場合
>>>>> Configuration File (php.ini) Path => /usr/local/apache2/php
>>>>> Loaded Configuration File => /usr/local/apache2/php/php.ini
>>>>>
>>>>> mod_phpのほうでphpinfo() を表示させると
>>>>> Configuration File (php.ini) Path /usr/local/apache2/php
>>>>> Loaded Configuration File (none)
>>>>>
>>>>> apache (httpd)に対してtruss コマンドでシステムコールをトレースしてみると、
>>>>>
>>>>> open("./php-apache2handler.ini", O_RDONLY) Err#2 ENOENT
>>>>> open("/usr/local/apache2/php/php-apache2handler.ini", O_RDONLY) Err#2 ENOENT
>>>>> open("./php.ini", O_RDONLY) Err#2 ENOENT
>>>>> open("/usr/local/apache2/php/php.ini", O_RDONLY) = 533
>>>>> close(533) = 0
>>>>> ...
>>>>>
>>>>> となっており、ファイルディスクリプタが取得できているにもかかわらず、
>>>>> 一度もreadしないまま、closeしていることがわかります。
>>>>>
>>>>>
>>>>> このような現象が起きる原因として、何が考えられるでしょうか?
>>>>>
>>>>> よろしくお願い致します.
>>>>>
>>>>> _______________________________________________
>>>>> PHP-users mailing list PHP-users@xxxxx
>>>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>>>> http://oldwww.php.gr.jp/php/novice.php3
>>>>
>>>> --
>>>> 碇 永志
>>>> <ikari-ml@xxxxx>
>>>>
>>>> _______________________________________________
>>>> PHP-users mailing list PHP-users@xxxxx
>>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>>> http://oldwww.php.gr.jp/php/novice.php3
>>>
>>> _______________________________________________
>>> PHP-users mailing list PHP-users@xxxxx
>>> http://ml.php.gr.jp/mailman/listinfo/php-users
>>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>>> http://oldwww.php.gr.jp/php/novice.php3
>>>
>>
>> _______________________________________________
>> PHP-users mailing list PHP-users@xxxxx
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3
>>
>
> _______________________________________________
> PHP-users mailing list PHP-users@xxxxx
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2009年7月13日 09:01
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86661
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。