1. 程式人生 > >部署提示不支援curl

部署提示不支援curl

1.  curl下載:http://curl.haxx.se/download.html

2.  wget http://curl.haxx.se/download/curl-7.32.0.tar.gz

     tar zxvf curl-7.32.0.tar.gz      //解壓檔案

     cd curl-7.32.0 

     ./configure --prefix=/usr/local/curl


3.   cd  /(php原始碼目錄,不是php編譯目錄/ext/curl
 執行phpize: /(php編譯目錄)/bin/phpize

 ./configure --with-php-config=/(php編譯目錄)/bin/php-config  --with-curl=/(curl原始碼目錄)

   make && make install

   修改php.ini,增加:extension=curl.so(如果沒有安裝過其他php擴充套件,則需要同時配置extension_dir="/(php編譯後目錄)/lib/php/extensions/no-debug-non-zts-20121212/",上一個步驟生成.so檔案的時候,會輸出extension_dir目錄)

4.   檢驗是否安裝成功:
/(php編譯後目錄)/bin/php -m | grep curl ——正常列印curl,則表示安裝成功(php -m會打印出已安裝的擴充套件模組)



踩過的坑:(1)直接在curl的原始碼目錄最上層,執行phpize,提示如下錯誤:Cannot find config.m4. Make sure that you run '/home/zhuyx/local/php-5.5.3/bin/phpize' in the top level source directory of the module 原因: phpize擴充套件安裝,源包需要有config.m4這個配置檔案;當前擴充套件的原始碼包不包含(memcache的就包含)。  解決方法:(1)進入php原始碼包的 ext/curl 下面執行phpize,再進行安裝(2)./configure --with-php-config=/php編譯後目錄/bin/php-config  --with-curl=curl原始碼目錄 問題擴充套件: 安裝其他的php擴充套件的時候,遇到類似問題,都可以採取上述解決方案。 (2)關於php.ini 樓主一開始修改的是 php編譯後目錄/lib/php.ini 這個檔案,修改之後新增模組並不生效。後來才知道,前面這個是預設(編譯時候不指定)的擴充套件配置目錄,如果編譯的時候指定了php.ini的目錄,以後都需要修改指定目錄下的php.ini,例如樓主的是 php編譯後目錄/php.ini 。 (3)呼叫curl()的php指令碼,命令列可以執行,瀏覽器訪問提示如下錯誤: Fatal Error:Call to undefined function curl() 原因: 樓主的伺服器是nginx,安裝了curl擴充套件後,沒有重啟php-fpm導致。 解決方法: 重啟php-fpm. ps aux | grep php-fpm (找到master程序) kill -SIGINT master程序 進入php-5.5.3/sbin,執行  ./php-fpm(啟動)
以上是Linux centos7 php7 編譯安裝 php 擴充套件包 curl的內容,更多 編譯 擴充套件 centos7 安裝 Linux PHP7 curl php 的內容,請您使用右上方搜尋功能獲取相關資訊。


錯誤  Loaded Configuration File	(none)    //載入模組  配置檔案不生效
解決辦法:strace  /usr/local/php/bin/php -i 2> /tmp/1.log
grep 'php.ini' /tmp/1.log
open("/usr/local/php/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/php/lib/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
write(1, "Configuration File (php.ini) Pat"..., 33) = 33

php.ini 拷貝至/usr/local/php/bin/
 但這樣之後phpinfo檢測不到curl    將配置檔案拷貝指定的目錄正常