Home>Article>Backend Development> php curl_exec(),该如何解决
php curl_exec()
公司写一个抛xml文档的程序 抛送url 用如下代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://".$this->IP.$this->URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->PARAMETER );
$ret = curl_exec($ch);
curl_close ($ch);
这段代码所有参数我看了没有问题
但curl_exec() 返回时false值
我查了下百度说要开启 extension=php_curl.dll 这个动态库
----
请问这个动态库是不是只有在windows下才有。我公司的环境是php 5.3.5 ,linux 环境, 我查了下公司php.ini没有这个选项。
请问在linux下 如何使用这个函数。要如何配置php.ino
------解决方案--------------------
linux下php扩展curl的安装
------解决方案--------------------
需要编译进去,具体方法可以网上查阅一下。
------解决方案--------------------
phpinfo(); 看下curl 是否开启了。
------解决方案--------------------
.dll 是windows的动态链接库。
linux下是需要 .so扩展。
search一下吧,不少教程
------解决方案--------------------
curl_exec() 返回 false 值
表示连接 "http://".$this->IP.$this->URL 失败
请检查 url 真实可用
如果是 curl 扩展没有加载,则会报函数未定义
------解决方案--------------------
$ch = curl_init();
不报错
echo $ch;
输出 Resource id #...
就表示 curl 可用
专业一点就是
if(! function_exists('curl_init')) die 'curl 不可用';
------解决方案--------------------
"http://".$this->IP.$this->URL);
这个地址打印出来。
这个地址有效么?
------解决方案--------------------
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://".$this->IP.$this->URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->PARAMETER );
$ret = curl_exec($ch);
// 检查是否有错误发生
if( curl_errno ( $ch )) {
echo 'Curl error: ' . curl_error ( $ch );
}
curl_close ($ch);