我在同一个主机和域上有一个网站,但巧合的是,我将所有内容都转移到了另一个域和主机上,其中一个 php 脚本停止工作,尽管一切都相同并且正常工作。此行curl_setopt($ch, CURLOPT_HTTPHEADER, 'User-Agent: '.getallheaders()['User-Agent']);写入以下 curl_setopt () 错误:您必须使用 CURLOPT_HTTPHEADER 传递对象或数组,因此,无法修改标头信息 - 已由错误发送的标头进一步跳转。该脚本 100% 工作,我在以前的域和主机上使用它,当我转移它时,这个错误出来了,我永远不会知道它是什么。这行代码在上下文中
$ch = curl_init('https://testsite.ru/');
curl_setopt($ch, CURLOPT_HTTPHEADER, 'User-Agent: '.getallheaders()['User-Agent']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $pass);
curl_setopt($ch, CURLOPT_HEADER, 1);
$session = curl_exec($ch);
curl_close($ch);
我没有注意有一个testsite,我故意改变它,一般来说,告诉我为什么在以前的域和主机上一切正常,但是在这个上出现这样的错误,如何修复它?
因为它需要一个参数数组(错误似乎暗示了这一点),并且您正在传递一个字符串。
引用文档:
https://www.php.net/manual/en/function.curl-setopt.php