2009年7月24日

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

中満と申します。

On Fri, 24 Jul 2009 09:00:33 +0900
大瀧保広 <y.ohtaki@xxxxx> wrote:

> Solaris の fopen の仕様に引っかかっていました。
> 32bitアプリでは255より大きいファイルディスクリプタでは
> ファイルにアクセスできないようです。


Solarisのファイルディスクリプタの上限は変更可能です。

> (以下、fopen のマニュアルからの該当部分の抜粋)
>
> Normally, 32-bit applications return an EMFILE error when
> attempting to associate a stream with a file accessed by a
> file descriptor with a value greater than 255. If the last
> character of mode is F, 32-bit applications will be allowed
> to associate a stream with a file accessed by a file
> descriptor with a value greater than 255.
>
> open は成功してるのに、fopenがエラーになってたのですね。
>
> (最終的にfopenに渡る)モードを"r" から "rF"に直して歩くか、
> 64bitアプリとしてビルドする(PHP? Apache?)ことになりそうです。

おそらくそれぞれのバーチャルホストでログを出力しているため
ファイルディスクリプタが足りなくなっているのだと思いますが、
Apacheをビルドする際、FD_SETSIZEの値を8192など大きめの値に
するだけでエラーは解消するのでは無いでしょうか?

# Solaris + バーチャルホストという組み合わせだと、誰もが通る道ですよね、これ。
_______________________________________________
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月24日 11:23
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86916
トラックバック
コメント
コメントする




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