如何以比file_get_content更快的方式阅读URL?

时间:2018-01-30 14:45:43

标签: php

我需要运行大约100个PHP页面,有点复杂。

我可以使用cronjob运行它们,但我更喜欢通过一个PHP页面。

到目前为止,我对家庭网络服务器做了些什么:(结束时间30-60秒)

<?php
file_get_contents("http://website.com&page1");
file_get_contents("http://website.com&page2");
file_get_contents("http://website.com&page3");
file_get_contents("http://website.com&page4");
file_get_contents("http://website.com&page5");
file_get_contents("http://website.com&page6");
file_get_contents("http://website.com&page7");
file_get_contents("http://website.com&page8");
file_get_contents("http://website.com&page9");
file_get_contents("http://website.com&page10");
Until number 100...

但我现在尝试使用我的外部网络服务器并且代码延迟了至少5分钟,这也延长了php.ini无法帮助的时间。

还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

也许使用shell脚本:

#!/bin/sh

for a in `seq 100`
do
   wget -O/dev/null -q "http://website.com?page$a"
done

#!/bin/bash

for ((a=1;a<=100;a++)); 
do
   wget -O/dev/null -q "http://website.com?page$a"
done

答案 1 :(得分:1)

你可以这样做,它很脏但是有效

 <?php
set_time_limit(0);
for ($x = 0; $x <= 100; $x++) {
file_get_contents("http://website.com&page".$x);
}
?> 

如果需要,这将让脚本永远运行,这不是一个很好的方法,因为脚本可以永远运行并填满你的服务器内存。

对于您的用例虽然可以使用