• ベストアンサー

php 時間のかかるスクリプトの結果が表示されない

ファイルを受け取って加工する php スクリプトを書きました。 結果が出るのに10分ほどかかると、スクリプトは最後まで実行されるにもかかわらず、結果がブラウザに表示されず、ブラウザはデータを待っている状態のままになります(タイムアウトではなく)。 スクリプトが最後まで実行されていることも確認しましたし、apache のログを見ると200を返しています。 もうちょっと小さなデータで実行すると問題なく結果が表示されます。 これはどういうことでしょうか。 どなたかヒントをいただけないでしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>結果が出るのに10分ほどかかる httpベースで10分間放置はシステムとしては不的確ですね そのくらいの時間感覚が想定されるなら、非同期のバックグラウンド処理を 検討すべきでしょう。

daneel123
質問者

お礼

ありがとうございます。 その方向で検討します。

関連するQ&A

  • PHP4スクリプトはSYSTEMユーザで動かない?

    WindowsサーバにApache2があり、PHPで Webアプリケーションを稼動させています。 サーバにはExcelがインストールされてい ます。OLEによりWebアプリからブックを 作成します。 しかし、対象データが多いとタイムアウトに なるため、Cでプログラムを作り、複数の プロセスを同時に走らせて効率化を図り ました。このプログラムをコマンドプロンプト から実行すると、狙い通りに動作し、速度は 改善されました。しかし、これをWebアプリの system関数で実行すると、何もせず即座に 終了します。Cプログラムでログを取って、 調べたところ、CreateProcessは成功して いますが、PHP.exeが起動後即死している ようです。Apacheのアカウントはユーザとの インタフェースを持たないためかと思い、 Cプログラムでユーザを偽装して起動して みました。しかし、PHP.exeはAdministrator アカウントで起動されるのですが、やはり 起動後の即死は相変わらずです。 これをPHP5のPHP.exeで実行すると正常に 動作しました。但し、実際に稼動する環境で PHP5が入る保証はありません。 PHP4では解決できないとなれば、掛け合う 余地はありますが、ダメという論拠が必要に なります。 WebアプリからPHPスクリプトを実行する方法 あるいは実行できない理由をご存知の方は ご教授くださると有り難く存じます。

    • ベストアンサー
    • PHP
  • 新規登録したデータが表示されない理由は?

    別言語からPHPに移行してきた初心者です。 新規登録スクリプトTouroku.phpを実行し、その直後、入力確認用kakunin.phpで全件表示させようとすると、新規で入力したデータ以外のデータしか表示されません。 DBはMysqlですが、DBにはデータが登録されていることが確認できています。 (症状1)新規入力から確認用表示までのスクリプトを1本化すると新規入力データは表示されます。 (症状2)新規登録スクリプトTouroku.phpを実行したあと、ブラウザを一旦閉じてからkakunin.phpを実行した場合、データがきちんとすべて表示されます。 (症状3)EclipseのPHP Browserでは続けて2回kakunin.phpを実行すると全件が表示されますが、IE上では何回実行しても新規入力データは非表示のままです。 (対策1)DBがロックしているかと思い、それぞれのスクリプトに「mysql_close()」を入れてみましたが、結果は同じでした。 ApacheとMysqlはXampp2.5でインストールしています。 どなたか解決方法をご教授ください。

    • ベストアンサー
    • PHP
  • 拡張子がhtmlでもphpスクリプト実行したい

    webサーバがApacheの、レンタルサーバーでホームページを作っております。フレームの代わりにphpのincludeを使ってメニュー等を表示しています。しかし最終的に表示されるページの拡張子がphpでないと、きちんと表示されません。拡張子がhtmlでもphpスクリプトが実行されるようにしたくて、色々調べていたのですが、それらしき方法を発見しました。 Apacheで言えばhttpd.confの AddType application/x-httpd-php .php というところを例えば AddType application/x-httpd-php .php .html にするだけで、*.phpでも*.htmlなファイルであってもそこに埋め込まれているPHPスクリプトは実行されるようになる。 …とあったのですが、何をどう加えるか、もしくは変えればいいのかサッパリです。 もっとこっちの方が簡単だ、など、詳しい方いらっしゃいましたら、どうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPスクリプトでperlスクリプト

    はじめまして。PHP初心者です。助け舟をお願いします。 PHPスクリプトで、formの表示からデータの受け取り→ファイルに書込み→終了画面の表示ができるスクリプトを書くことが出来ました。 これをphpスクリプト1とします。 POSTで受け取った変数を元に処理した変数を返すperlスクリプトがあります。 これをperlスクリプト1とします。 perlスクリプト1をphpスクリプトにすることは私には困難なため、phpスクリプト1のファイルに書き込む前に、perlスクリプト1を実行→返った変数をphpスクリプトで使用しファイルに書込み→終了画面の表示を行いたいです。 こんなことってできますか?

    • 締切済み
    • PHP
  • PHPソースと、実行結果を表示したい。

    お世話になります。 phpのスクリプト自体と、その結果を表示したいのですが、 良い方法が見つかりません。 <?php echo "aaaa".'<br>'; function xyz(){ ・・・・ } ?> などというスクリプト自体を表示し、その実行結果も表示したいのです。 スクリプト自体を表示するとき<pre>タグを使うと <br>などはひょうじされず実際の改行となってしまいます。 何か良い方法はないものでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpinfoがスクリプトのまま表示される

    Windows XP でApache2.0.46をインストールしテスト画面は成功し、次にphp4.3.2をインストールしたのですが <?php phpinfo(); ?> ブラウザにphpのインフォメーション画面が表示されません。 スクリプトが <?php phpinfo(); ?> このまま表示されます。ページにエラーがでるわけではなく入力したスクリプトのまま表示されてしまいます。 なのでphpinfo.php の保存場所や ブラウザで開く際の URL が違っている ということもなさそうですし、 ファイル修正後、Apache を再起動もしています。 httpd.conf 又は php.ini の修正もしているんですが。 何が原因なのでしょうか? 宜しくお願いします。 初心者でわからないのですがApacheを起動させていると外部からアクセスされるのでしょうか? phpの学習が目的なのですが。セキュリティは大丈夫なのでしょうか?

    • 締切済み
    • PHP
  • PHPでスクリプトタイムアウトを設定したいのですが

    PHPでスクリプトタイムアウトを設定したいのですがどうしたら良いですか?

  • phpinfoは表示されるのにその他のphpファイルが表示されない

    すみません困っています。 使用中PCをリカバリして,apache2.0.63 php5.1.2 mysql5.0.18を再インストールし,諸設定を済ませました。 コマンドプロンプトでmysqlのテーブルデータを抽出すると(select * from・・・)文字化けするのが未解決ですが,それよりもphpの動作確認のためドキュメントルートC:/Program Files/Apache Group/Apache2/htdocs/に,info.php(<?php phpinfo(); ?>)とtest.php(<? echo "test"; ?>)を配置してブラウザで確認していますが,info.phpは正常に表示されますが,test.phpでは何も表示されません(真っ白)。 mysqlの文字化けと関係しているのでしょうか? 月曜日までにWebアンケートを実施しなくてはいけません。 ※データベース等はリカバリ前にバックアップします ※ブラウザについてはプライバシー情報をクリアしています

    • ベストアンサー
    • PHP
  • phpファイルに書いたhtmlソースが表示される

    php側で用意した変数にhtmlタグと合わせて $tempHTML=<tr><td>$data1</td><td>$data2</td></tr>"; のように文字列を代入して、表形式でデータを表示させようとしているのですが、 なぜかhtml部分のソースのみがブラウザに表示されてしまいます。 ファイル名"search_result.php" --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> <?php 処理の記述 ?> </script> </body> </html> --------------------------- と書いて実行させると、 --------------------------- <html> <body> <script type="text/javascript"><!-- function dataFunc(txt){ alert("search_result_data"); document.search_result.search_result_data.value = txt; } --></script> </head> <body> <form name ="search_result" method="post action="./search_result_test.php"> <input type="hidden" name="search_result_data" value=""></input> </form> <script type="text/php"> </script> </body> </html> --------------------------- と表示され、phpの記述(<?php・・・?>)以外のソースがまるまるブラウザで表示されてしまいます。 しかも肝心の処理結果も表示できません。 どなたか原因が分かる方がいらっしゃったら教えていただけますか?

    • ベストアンサー
    • PHP
  • 教えてくださいphp初期設定の確認で、phpinfo スクリプトのままブラウザ表示されます。

    Apacheとphpをインストールしてhttpd.confの設定を以下のように追記。動作確認で test.phpファイルを作成して test.phpファイルの記述。 <?php phpinfo(); ?> htdocsディレクトリに保存しましたが、ブラウザで確認するとphpinfo でスクリプトが表示されます。なにが足りないのでしょうか? 教えてください。 詳細環境 Windows2000 apache_1.3.24 インストール先 C:/Apache Group php-4.1.2 インストール先 C:/php4 httpd.confの設定追記 ScriptAlias /php4/ "C:/php4/" AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Action application/x-httpd-php /php4/php.exe DirectoryIndex index.php Apacheを再起動 はやくスタートラインに並びたいです。 ご存知のかた教えてください。

    • ベストアンサー
    • PHP

専門家に質問してみよう