0

504エラーの後、問題は再起動するだけで修正されます。サーバー=vps。スクリプトの後にエラーが続きます。

<?php

$data = array('url','url','url'...'url');
foreach($data AS $v) {
  shell_exec('wget -O /dev/null '.$v);
}

'url'は約100で、すべて正常に実行され、URLは同じVPSで異なるポートでのみサービスされます(スクリプトによってperlに処理され、nginxは関与しません)。サーバーでは、nginx、続いてapache2。

呼び出しがforeachではなく、チームがすべてである場合は1回だけです。呼び出しの間に0.2秒のusleepを追加しようとしましたが無駄になりました。最初はfile_get_contentsでしたが、fsockopenで転記され、次にwgetで転記されました。

どこを見ればいいのか。ログは見える、何もない

4

2 に答える 2

0

まず、php スクリプトに次の設定を追加します。

<?php
ignore_user_abort(true);
set_time_limit(0);
...

NGINX では、次を追加する必要があります。

15分

proxy_pass http://apache_server:80;
....
proxy_read_timeout 900s;
proxy_send_timeout 900s;

これはうまくいくはずです。ない場合 - 制限を増やしてみてください。

于 2012-01-23T11:21:25.497 に答える
0

ジョブを実行するシェル スクリプト (bash?) を作成して、実行するスクリプトのソースとして機能する txt ファイルのみを PHP に入力させることで、PHP から shell_exec() を 1 回だけ呼び出すことができます。同じ結果を達成する...

于 2012-01-23T07:45:25.543 に答える