0

504错误后,问题被纠正,只有重新启动。服务器 = vps。这是脚本,后面跟着错误:

<?php

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

'url' 大约一百个,全部成功执行,URL 是同一个 VPS 上的服务,只是在不同的端口上(由脚本处理成 perl,不涉及 nginx)。在服务器上,nginx,然后是 apache2。

如果调用不foreach,而只是一次一个团队的全部内容。我试图在通话之间增加 0.2 秒的睡眠时间,但无济于事。起初它只是一个 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

您可以尝试通过创建一个完成这项工作的shell脚本(bash?)并使PHP仅填写一个txt文件,该文件将作为要运行的脚本的源,因此您只能从PHP调用shell_exec()一次并且达到同样的结果...

于 2012-01-23T07:45:25.543 回答