私はこれに対する答えを見つけることができません。おそらく私は正しい言葉で検索していません。PHPスクリプトが失敗したときにサーバが応答しないようにする方法
PHPスクリプトが失敗すると(スクリプト、無限ループ、無限SQL呼び出しなどのエラー)、サーバー全体が「ビジー」になります。それはすべてのリソースが取られ、そのスクリプトを実行しようとすることに焦点を当てるようなものです。 apache/nginxを再起動すると、サーバーは正常に戻ります。
これをどのように回避できますか?スクリプトのタイムアウトを設定してもそれを解決することはできません。なぜなら、タイムアウトが10秒であっても、サーバーは誰に対しても10秒間応答しないからです。
これを回避する方法はありますか?はい、スクリプトの問題を解決することで問題はなくなりますが、サーバー側でこれを防ぐ方法があると確信しています。
ちょうど今の例が私の頭に浮かびます。このスクリプトは、そのWebサイトでサービスを呼び出すことによって国コードを取得するために使用されていました。なんらかの理由でウェブサイトは私たちに無作為には提供されないので、スクリプトはファイルの内容を受け取るために永遠に待つでしょう。それはだ場合でも10秒は、サーバーが皆にそれらの10秒間irresponsiveなりタイムアウトので、スクリプトのタイムアウトを設定
$getcountry = file_get_contents('http://ip-api.com/php/'. getUserIP());
おかげ
おかげで、非常に明確に説明し、あなたは私に向上させるために非常に良いのポインタを与えています。 –