linux下交叉编译php 7.1 和 扩展模块curl

步骤1:

先编译curl (下载链接:https://curl.haxx.se/download.html

tar -zxvf curl-7.66.0.tar.gz

cd curl-7.66.0

./configure --prefix=/usr/local/curl --host=mipsel-linux(指定安装路径和交叉编译器)

make

make install

 

步骤2:编译php

tar -zxvf php-src-php-7.1.30.tar.gz

cd php-src-php-7.1.30

./buildconf --force

./configure --prefix=/usr/php --exec-prefix=/usr/php/bin --host=mipsel-linux  --with-curl=/usr/local/curl  (注意此处的路径为上面指定的路径)

make

make install

修改php.ini 加入支持curl功能

extension = curl.so 

步骤3:移植相关文件到目标上

重点:移植curl库,是拷贝/usr/local/curl目录下的so文件到目标环境上

可能提示问题:执行php提示“./php: symbol lookup error: ./php: undefined symbol: curl_global_init”  

原因是找不到对于的库,我这边目标环境所需的curl库是  libcurl.so.4 那么我创建一个软连接即可

ln -s /usr/local/curl/lib/libcurl.so.4.5.0 /usr/lib/libcurl.so.4

步骤4:验证curl模块

方式1:

创建测试文件test.php

<?php
echo 'Curl: ', function_exists('curl_version') ? 'Enabled' . "\xA" : 'Disabled' . "\xA";
?>

/usr/php/bin/php test.php 执行会输出提示  “Curl: Enabled

方式2:

通过网页访问此php文件,会显示对应网页内容

<?php

// 初始化一个 cURL 对象

$curl = curl_init();

// 设置你需要抓取的URL

curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');

// 设置header

curl_setopt($curl, CURLOPT_HEADER, 1);

// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// 运行cURL,请求网页

$data = curl_exec($curl);

// 关闭URL请求

curl_close($curl);

// 显示获得的数据

var_dump($data);

?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章