今天配置 php 的curl拓展。第一次配置,還不會,我就百度很多方法,但是發現網上抄襲太嚴重了,一個方法被轉載了好多個網站,關鍵的是還寫的不對。經歷了長達4個多小時的折磨 終於配置成功。方法記錄如下
首先是先下載 curl 拓展庫
wget https://curl.haxx.se/download/curl-7.53.1.tar.gz&&tar -zxf curl-7.53.1.tar.gz
./configure --prefix=/usr/local/curl(進入到解壓的目錄里面)
make & make install
上面步驟是安裝好 curl拓展。
然后測試 curl 這個命令能用不, curl http://www.5284.net 我的機器就報了
curl: (2) Failed Initialization
別怕 ,在裝一遍,在加個參數 confure的時候加上 ./configure --prefix=/usr/local/curl --disable-shared
然后就可以用了。
繼續往下走
編譯PHP
這一步我都被逼瘋了,網上的方法好多混淆的,還說的不清楚。
找到PHP的源碼路徑
---------------------------------
root目錄下cd lnmp1.3-full
cd src ls php*
cp php-7.0.7.tar.gz /var/tmp/
cd /var/tmp/
tar -xvf php-7.0.7.tar.gz
cd php-7.0.7
------------------------------------
首先確定 你的php安裝目錄 例如我的 /usr/local/php/
然后找到你的PHP源代碼目錄。是源代碼目錄哦。例如我的版本是5.4 var/tmp/php-5.4.45/
進入php源代碼目錄后有一個 ext目錄 進入 /var/tmp/php-5.4.45/ext/curl/ 最后進入到curl目錄下
接下來就是 調用phpize程序生成編繹配置文件 命名 /usr/local/php/bin/phpize
[說明]phpize
(phpize是用來擴展php模塊的,通過phpize可以建立php的外掛模塊,無論是編繹生成的php,還是通過yum ,apt-get,brew自動安裝的php,都會生成一個phpize程序,
phpize是編繹安裝時候生成好的,文件中記錄了當時安裝的一些信息,並不能從其他地方拿個phpize來使用,在使用時需要找到自己對應php版本的phpize,當php編譯完成后,php安裝目錄下的bin目錄下會有phpize這個腳本文件。所以是去安裝好的php安裝目錄去找)
生成configure配置文件時,使用--with-php-config=/usr/local/php534/bin/php-config來指定phpize要建立基於哪個php版本的擴展,關於php-config文件:是在php編譯生成后(安裝好),放在安裝目錄下的一個文件。打開phpize文件內容會發現,里面定義好了php的安裝目錄等變量
如果 執行了 /usr/local/php/bin/phpize 沒有反應 提示你這是一個目錄 那就是需要安裝一個 yum install php-devel
這個會當前目錄生成一個configure配置文件
3.調用configure生成Makefile文件,然后調用make編繹,make install安裝
如輸入: ./configure --with-php-config=/usr/local/php/bin/php-config
回車再輸入make&make install
回車會生成一個curl.so文件
事情並不是一帆風順的,果然又除了幺蛾子,提示了一個報錯,不要怕 將 make clean 執行一下,然后再繼續
如輸入: ./configure --with-php-config=/usr/local/php534/bin/php-config
回車再輸入make&make install
OK 大功告成,生成了一個 curl.so文件,夢寐以求的啊。
接下來就是 cp curl.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/(這個路徑,每個人的不一樣哈但是前面肯定一樣)
拷貝curl.so文件在php擴展目錄(可以通過在php.ini文件中查看擴展目錄,也可以打印phpinf()這個函數來查看php擴展安裝目錄),在php.ini文件中加入
修改擴展庫目錄extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/"(可以通過在php.ini文件中查看擴展目錄,也可以打印phpinf()這個函數來查看php擴展安裝目錄);
添加curl擴展extension = curl.so
結果 報錯了
哎 苦命人啊
繼續
上面的問題也終於被我解決了,報錯的意思是沒有找到路徑。這里需要把 動態庫的路徑放到/etc/ld.so.conf中 然后再ldconfig

