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

?>

 

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