Home>Article>Backend Development> php curl_exec(),该如何解决

php curl_exec(),该如何解决

Susan Sarandon
Susan Sarandon Original
2016-06-13 11:51:45 1021browse

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);


看看提示什么。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn