929902 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

Web標準にアプローチ 〔まいまいのお宿。〕

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2006/04/21
XML
テーマ:私のPC生活(7394)
カテゴリ:PC&Web
ピンクハートカリスマ・
ベビーシッターの
0歳からの子育て
ルールブック


青ハート【予約】
超・極める!PHP


黄ハート【予約】
WEB+DB PRESS
Vol.32


ピンクハート正規表現
ポケットリファレンス


青ハートPHPサイバーテロの技法

黄ハートチャット恋愛学
花レッド タイムアウトになっちゃいます。

PHPとPostgreSQLでプログラミングしているの。
OSはWindows。
ブラウザに結果が返ってくるのに時間がかかると
タイムアウトになって処理中断・・・

最低1万件を処理させたい。
CSVファイルを吐き出したいんだよね。
処理するプロセスにもよるけど
5000ちょっとでタイムアウト。

回避策を只今調査中・・・
SQLの知識が初歩くらいしかないので
もっと記述方法を知れば
処理速度は向上すると思う。
PHPを介せずにDBを直接操作すれば
(コマンド・プロンプトでSQLを実行すれば)
処理は可能な程度なの。

DBにもタイムアウトって存在するのかな?

調べてわかったメモを下の枠にカキコします。
ふぅ~

1の方法は、部分回避でしかないな~
レコード件数はどんどん増えるし・・・
どんなに長い時間処理しても大丈夫な処理はないのかな。

2の方法は、今回は使えない・・・

ブラウザに一旦レスポンス(応答)を返してあげたりもしたけど
無駄な努力だった・・・
これで、できてる人もいるみたいだけど
きっとやり方が違うんだろうと思うの。知識不足。

何か良い方法ないかしら?

スバリ!どんなに処理時間がかかっても
    タイムアウトにならないスクリプト!


んなもん あるかっ! って叱られてしまいそうね雫


■PHPがタイムアウト・・・回避策は?

【エラーメッセージ】
Fatal error: Maximum execution time of 30 seconds exceeded in
C:\Program Files\Apache Group\Apache2\htdocs\test\tmp.php
on line 52


1.設定ファイルのmax_execution_timeをいじる
   (php.iniの設定:初期は30sec)
2.set_time_limitを使う
   (phpの標準関数:処理を中断する時間を指定する)

[追記]
1の設定値secondsをゼロに設定すると時間制限が行われない。
2の設定値を1の設定値より大きくしても1の設定値が有効になる。
双方ともにsecondsの値を大きくし過ぎると
ブラウザのタイムアウトにひっかかる可能性がある。
四つ葉参考ページ
http://jp.php.net/manual/ja/function.set-time-limit.php
http://ns1.php.gr.jp/pipermail/php-users/2003-July/017579.html

今回の件は1の方法でいこうと思います。
他の方法も見つけなくては!


お仕事メモで ^^;
処理的にはすべてできたけれど
処理時間がかかってタイムアウトになってます。

ふぅ~

明日は、例の基礎講座の個別掲示板を設置しようと思っているの。
気分転換。息抜きです^^


・・・・・つづく


いえもん チューリップ
【簡易テーブルタグ作成ツール】
[Pit-Design]Webのツール素材置き場のVer1、Ver2をよろしくね。

* HOME *





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2006/04/22 12:08:47 AM
コメント(6) | コメントを書く



© Rakuten Group, Inc.