[PHP-users 7878] Re: フォームからメールを送信

Y.Watanabe php-users@php.gr.jp
Mon, 03 Jun 2002 18:43:30 +0900


わたなべです。

"chiwaki" wrote on 2002/06/02 07:34
with Subject: [PHP-users 7857] フォームからメールを送信
>PHP4でフォームから入力された情報をDB(PostgreSQL)から読み出した
>メールアドレスに送信するプログラムを作ったのですが、メールアドレスが
>40以上くらいになるとブラウザが再送信されてしまうのか、メールを複数通
>送信してしまったり、タイムアウトを起こしてしまいます。

他の方も言ってましたが、問題となっているスクリプトを書いた方が
解決策をさがしやすいですよ。
PHPの細かいバージョン番号やOSはもちろん、
この場合はメール配信に何を使っているのか(sendmail?qmail?postfix?)
とか、そのメールサーバーはPHPが動いているWebサーバーと同居しているのか
それとも別サーバなのかとかも問題解決のための情報として必要です。

さて、問題の件ですが、あて先のアドレスが増えると
タイムアウトを起こしやすくなるということは、
PHPがメールサーバーと通信するのに、
PHPが稼動できる最大秒数(デフォルト30秒)を超える時間が
かかっているということではないでしょうか?

----------------------
http://www.php.net/manual/ja/configuration.php
max_execution_time 整数
スクリプトがパーサにより強制終了されるまでに許容される最大の 
時間を秒単位で指定します。この命令は、いい加減に書かれたスク リプトが
サーバーの負荷を上げることを防止するのに役立ちます。 デフォルトでは、
30に設定されています。 

最大実行時間は、システムコール、sleep()関 数等の影響を受けません。より詳細な
情報については、 set_time_limit()関数の説明を参照下さい。 
----------------------

上記のマニュアルを参考にしながらphp.iniを調整するか、
あるいは問題のスクリプト中で
ini_set("max_execution_time", "0"); 
などしてみるなどをおすすめします。