2017-10-11 85 views
1

你好我面对关于PHP cURL我试图打一个网址的问题,却得到了xml然后将其转化成一个阵列上我的网站显示在某处数据本地主机它工作正常,但是当我把它放在cpanel curl请求得不到响应,并一直等待响应和部分挂起浏览器,直到我重新启动browser.i curl_setopt($ch, CURLOPT_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; 
    } 

关于这将是非常appreciated.Thanks

回答

2

既然你想一个的cPanel服务器上运行的任何帮助,一些PHP的功能可能被禁用。

因此首先要做的是检查服务器上的php函数allow_url_fopen()是启用还是禁用。

发出php -i | grep php.ini来检查哪个php配置文件默认加载(并且它是服务器上的默认值)。然后检查该php.ini文件,看看是否allow_url_fopen

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

也尝试添加一些调试到您的脚本,看看有什么确切的错误信息。你也可以检查Apache错误日志,看看你是否找到有用的信息。

+0

感谢Bogdan的回复。赞赏 –