Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php cURL请求挂起浏览器并继续等待Cpanel_Php_Curl_Cpanel - Fatal编程技术网

Php cURL请求挂起浏览器并继续等待Cpanel

Php cURL请求挂起浏览器并继续等待Cpanel,php,curl,cpanel,Php,Curl,Cpanel,您好,我遇到了一个关于phpcURL的问题,我试图点击一个url并获取一个xml,然后将其转换为一个数组以在本地主机上的网站上的某个位置显示数据,它可以正常工作,但当我将其放在cpanel上时,cURL请求没有得到响应,一直等待响应,并部分挂起该请求直到我重新启动浏览器。我是curl\u setopt($ch,CURLOPT\u CONNECTTIMEOUT,0)也是,但问题仍然存在。 这是我的cURL代码 if($is_url) { if (!($fp = @ fope

您好,我遇到了一个关于php
cURL
的问题,我试图点击一个url并获取一个
xml
,然后将其转换为一个数组以在本地主机上的网站上的某个位置显示数据,它可以正常工作,但当我将其放在cpanel上时,cURL请求没有得到响应,一直等待响应,并部分挂起该请求直到我重新启动浏览器。我是
curl\u setopt($ch,CURLOPT\u CONNECTTIMEOUT,0)也是,但问题仍然存在。
这是我的
cURL
代码

    if($is_url) {
        if (!($fp = @ fopen($url, 'rb'))) {
            $ch = curl_init();
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch, CURLOPT_USERAGENT, 
            'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/3.0.0.2');
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
            curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
            curl_setopt($ch, CURLOPT_TIMEOUT_MS, 600);
            $contents = curl_exec($ch);
            curl_close($ch);

            if(!$contents)
                return false;
        }
        while (!feof($fp)) {
            $contents .= fread($fp, 8192);
        }
        fclose($fp);
    } else {
        $contents = $url;
    }

非常感谢您提供的任何帮助。由于您试图在cPanel服务器上运行此功能,因此可能会禁用某些php函数

因此,首先要做的是检查php函数
allow\u url\u fopen()
是否在服务器上启用或禁用

发出
php-i | grep php.ini
检查默认加载的php配置文件(这是服务器上的默认文件)。然后签入php.ini文件,查看是启用还是禁用允许url\u fopen

根据您的cPanel服务器配置,特定的cPanel帐户可能使用与服务器上默认版本完全不同的php版本


还可以尝试向脚本添加一些调试,以查看确切的错误消息。您还可以查看Apache错误日志,看看是否在那里找到任何有用的信息。

非常感谢您解决了困扰我好几天的问题。主要线索是查看Apache2日志文件。真正的Linux用户将日志称为第一个调用端口,但那些不使用Linux作为主要工作平台的用户通常会忘记日志。 在检查apache2错误日志后,我发现PHP是我的问题的原因。更正/var/log/apache2/php.ini(或活动php.ini文件所在的位置),以便

通过移除;(评论指标)。问题解决了

extension=php_curl.dll