[PHP-users 31486] Re: CGI版のPHPでfopenが作動しない

M.Terao mayo @ b-gets.ddo.jp
2007年 2月 20日 (火) 10:09:42 JST


寺尾です。

動かないから助けての仕事丸投げ感がありますが、
気にせず、考えられる原因として、

・エラーが出ているけど、エラーを表示しない設定になっている。
iniファイルか何かでエラー表示してあげるように設定してみてください。

・正常に動作していて、echoで表示する$xが空っぽである。
ereg_replaceする前に$xに値が入っているのかechoなりで表示してみてください。

の2点じゃないかと思います。

die()が実行されていない、且つしばらく読み込んでいる事から
後者のような気もしますが、何ともいえませんので、
確認してみてください。

設定の前に現状のソースがどこまで動いているのか確認しましょう。
CGI版ではなく、モジュール版なら正常動作するのですか?


> はじめまして、takaと申します。
> 
> CGI版のPHPの環境下でPHPを稼動する必要があるのですが、
> その際、fopen がうまく動作していないのか、
> しばらく読み込みをしているのですが、一定時間が経つと、
> 画面に何も表示されない状況になります。
> 
> fopen のスクリプトは以下です。
> 
> // $in に代入されたhtml scriptをhtmlテンプレートに
> // 表示テンプレートの使用
> $fp = fopen("template.html","r") or die("ファイルが開けません");
> while( $x = fgets($fp, 1024) ){
>     if( $err != '' ){
>         $x = ereg_replace( "%%DIS%%", $err, $x);
>         echo $x;
>     }
>     elseif( $err == '' ){
>         $x = ereg_replace( "%%DIS%%", $in, $x);
>         echo $x;
>     }
> }
> 
> (業務分担・デザイン等の関係で、htmlファイルを表示テンプレート
> として利用しています。)
> 
> phpのバージョンは 4.3.9 です。
> サーバーは Apache/2.0.52 です。
> 
> php.ini の主な内容は以下のとおりです。
> safe_mode = off
> safe_mode_gid = off
> allow_url_fopen = off
> register_globals = on 
> magic_quotes_gpc = off 
> 
> 
> php.ini の設定が原因なのでしょうか?
> (上記 php.ini で問題箇所があるのでしょうか?)
> (または、上記以外で注意すべき設定項目があるのでしょうか?)
> 
> 以上、どなたかアドバイスをお願い致します。
> 





PHP-users メーリングリストの案内