如何解决此请求超时

时间:2019-05-05 21:18:53

标签: php wordpress curl web-crawler

我构建了WordPress插件,将其他wepsite的数据收集到我的wepsite 但是当我在插件上使用它时,会向我显示该错误:

请求超时

此请求处理时间太长,服务器已将其超时。如果不应该超时,请联系该网站的管理员以增加“连接超时”。

<!DOCTYPE html>
<html>
<head>
    <title>website mass crawler</title>
    <link rel="stylesheet" type="text/css" href="">
</head>
<body>
<form action="" method="POST">
    <h2 class="inputmanga"> image url:</h2></p>
    <input type="text" name="url">
    <input class="sumbitmanga" name="activated" type="submit" value="Get!">

 </form>

<?php

set_time_limit(500);


require 'vendor/autoload.php';

use Symfony\Component\DomCrawler\Crawler;

$client = new \GuzzleHttp\Client();

if (isset($_POST['activated']) && is_admin()){ 

$furl = $_POST['url'];

$res = $client->request('GET', $furl);

$html = ''.$res->getBody();

$crawler = new Crawler($html);

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $furl);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($curl);

$manga_urls = $crawler->filter('#content .galleries_overview')->html();

preg_match_all('!<a href="(\/gallery\/(.*?)\/)">!', $manga_urls, $manga_url);

foreach ($manga_url[1] as $key => $murls) {

    $fullr_url = 'https://example.com'.$murls;

    print_r($fullr_url);

    include 'mass-downloader.php';

}
}
?>

</body>
</html>

该工具使用每个$ full_url并将其中的数据爬网到我的网站

如何解决这个问题

1 个答案:

答案 0 :(得分:0)

您需要增加php配置文件中的执行时间。

如果您不知道在哪里可以找到配置文件,请输入

<?php phpinfo() ?>

在您网站的某个位置打开该页面,您将获得该位置到您的配置文件。

打开该文件,查找并编辑以下内容(增加或减少。60是60秒)

upload_max_filesize = 2M 
max_execution_time = 60

重新启动您的PHP