脚本一次执行多个URL,并自动回声URL的内容,我想防止这个脚本回声任何东西,但我没有看到任何行像回声'某物';
除了我注释掉的行。
以下是脚本:
function batch_execute($urls) { $i = 0; $block = array(); $curl_handles = array(); foreach ($urls as $url) { $curl_handles[$url] = curl_init(); curl_setopt($curl_handles[$url], CURLOPT_URL, $url); curl_setopt($curl_handles[$url], CURLOPT_CONNECTTIMEOUT, 100); } $curl_multi_handle = curl_multi_init(); foreach ($curl_handles as $a_curl_handle) { $i++; curl_multi_add_handle($curl_multi_handle, $a_curl_handle); $block[] = $a_curl_handle; if (($i % 10 == 0) or ($i == count($curl_handles))) { $running = NULL; do { $running_before = $running; curl_multi_exec($curl_multi_handle, $running); if ($running != $running_before) { // echo("Waiting for $running sites to finish...\n"); } } while ($running > 0); foreach ($block as $handle) { // $code = curl_getinfo($handle, CURLINFO_HTTP_CODE); // $curl_errno = curl_errno($handle); $curl_error = curl_error($handle); if ($curl_error) { // echo(" *** cURL error: ($curl_errno) $curl_error\n"); } curl_multi_remove_handle($curl_multi_handle, $handle); } $block = array(); } } curl_multi_close($curl_multi_handle); }
帮助:)
当您创建单独的cURL句柄时,将选项CURLOPT_RETURNTRANSFER
设置为1
,cURL在发出请求时不会将内容输出到stdout。
请求完成后,如果您想访问单个句柄的响应主体,请调用该句柄上的curl_multi_getcontent()
,它将返回响应的内容。
您可以使用CURLOPT\u NOBODY
,但其副作用是请求被更改为HEAD
请求,许多服务器可能不接受该请求。
使用输出缓冲也是一种可能,但如果需要将响应主体与单个请求隔离开来,则这种方法没有帮助。
使用ob_start()
打开输出缓冲区将在打印到屏幕之前捕获所有输出。
然后使用ob_end_clean()
或ob_end_flush()
关闭缓冲区。Flush将在关闭缓冲区之前打印缓冲区的内容。
请在此处查看有关输出控制的更多信息。
问题内容: 目前,我试图阻止脚本多次运行: 并且有一个cron作业每分钟执行一次以上脚本: 它可以工作一段时间。几天后,当我这样做时: 我发现有 两个 实例正在运行!不是三个或更多,不是一个。我杀死了其中一个实例。几天后,又有 两个 实例。 代码有什么问题?还有其他替代方法来限制onlytask.php的一个实例正在运行吗? PS我的文件夹没有清理。显示锁定文件是在第一天创建的: 问题答案: 现在
我是不是漏了什么? 这不能编译。Eclipse抱怨"Matcher Asrett类型中的方法断言(T, Matcher)不适用于参数(int, Matcher 我错过了什么东西可以用吗?我在过去使用过其他Hamcrest方法...那么这有什么不同呢?
问题内容: 我在将任何内核模块构建到我的机器上时遇到问题。每当我构建模块时,modpost总是说模块为零: 为了解决该问题,我编写了一个测试模块(hello.c): 这是模块的Makefile: 在计算机上构建它时,得到以下输出: 当我在另一台机器上制作模块时,它成功了: 我寻找了有关modpost的任何相关文档,但收效甚微。任何人都知道modpost如何决定要构建什么?我可能会缺少一个环境吗?
问题内容: 我有以下代码: 该文件包含以下内容: 但是由于某种原因,每次都只返回一个空列表。 代码中可能存在愚蠢的错误或错字,但我只是找不到。提前致谢。 问题答案: 你读的文件 已经 和文件指针不是在 末尾 的文件。然后调用将不会返回数据。 仅读取一次文件: 另一种选择是在重新阅读之前先回到开头: 但这只是浪费CPU和I / O时间。 最好的办法是尝试和阅读 小 数据量,或寻求到了最后,通过采取文
问题内容: 在我以前的Meteor应用程序中,使用browserify和React,所有功能都可以使用,直到我切换到meteor webpack为止 。 我在Meteor应用程序中使用react-select,效果很好,但是使用browserify可以防止加载多个react副本,从而避免出现此错误: 我的package.json看起来像这样: Webpack中是否有配置,我可以使用外部调用?尚不完