Php curl_exec()需要参数1,sting是给定的

Php curl_exec()需要参数1,sting是给定的,php,curl,Php,Curl,我之前使用的是像这样的文件内容 if($html=@DOMDocument::loadHTML(文件获取内容($url)){..} 但切换到卷曲,因为它更安全,但我得到了错误 curl_exec() expects parameter 1, sting is given 我的代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,

我之前使用的是像这样的文件内容
if($html=@DOMDocument::loadHTML(文件获取内容($url)){..}

但切换到卷曲,因为它更安全,但我得到了错误

curl_exec() expects parameter 1, sting is given
我的代码

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);

    $html = curl_exec($url);
    curl_close($ch);

      if($html) {

          $xpath = new DOMXPath($html);
..
..

}

您正在执行URL字符串,而不是curl句柄

 $html = curl_exec($url);
改为

 $html = curl_exec($ch);

错误是,您正在将字符串赋给
curl\u exec
,请将curl句柄赋给它。使用下面的代码

 $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);

    $html = curl_exec($ch);
    curl_close($ch);

      if($html) {

          $xpath = new DOMXPath($html);
..
..

}

希望这对您有所帮助

您是否有可能发布真正的错误,而不是为我们重新解释它?非常确定您想要
$html=curl\u exec($ch)取而代之。浏览一下PHP Curl文档,它们很有用。:)我修正了这个问题,但我看到参数1传递给了DOMXPath::uu construct()必须是DOMDocument的一个实例,@ivyong:您确实意识到cURL只会替换对
文件的调用,对吧?就像@IgnacioVazquez Abrams所说的,cURL不会替换
DOMDocument::loadHTML
。您仍然需要将结果从
curl\u exec
传递到
loadHTML
函数中。