0

我的课堂上有以下方法:

public function __construct(){
    $this->handle = curl_init();
}

public function setOptArrayAndExecute(){

    $curlArray = curl_setopt_array(
            $this->handle,
            array(
                    CURLOPT_URL             => $this->getUrl(),
                    CURLOPT_USERAGENT       => $this->getUserAgent(),
                    CURLOPT_COOKIEJAR       => $this->getCookie(),
                    CURLOPT_COOKIEFILE      => $this->getCookie(),
                    CURLOPT_REFERER         => $this->getReferer(),
                    CURLOPT_TIMEOUT         => $this->getTimeOut(),
                    CURLOPT_FOLLOWLOCATION  => true
            )
    );
    ob_start(); //<-- Execution stops here
    curl_exec($this->handle);
    $this->response = ob_get_contents(); 
    curl_close($this->handle);
    ob_end_clean();
    return $this->response;
}

所以我只是写下代码的特定部分而不是整个类。我看了我的 php.ini:输出缓冲设置为“开”。我还激活了错误报告:

error_reporting(E_ALL);
ini_set('display_errors', 1);

我的 PHP 版本是 5.4.3。该脚本在ob_start()没有任何通知或错误报告的情况下停止......我不知道我错过了什么或我做错了什么。我真的很感激你的帮助。

4

1 回答 1

0

此外,您忘记设置 CURLOPT_CONNECTTIMEOUT,这可能会导致 5 分钟长的连接尝试,这将挂起您的脚本。

于 2022-02-12T05:55:54.023 回答