使用phpize安裝php擴展


環境:

CentOs 6.3
php 7
nginx

舉例:

安裝ssh2擴展


1.登陸http://pecl.php.net,搜索ssh2,如下圖所示,注意版本的選擇要根據php的版本來

2.下載ssh2擴展文件壓縮包(在當前系統哪個目錄下載隨意)

~# wget http://pecl.php.net/get/ssh2-1.0.tgz

3.解壓文件

~# tar -zxvf ssh2-1.0.tgz

4.進入源碼目錄

~# cd ssh2-1.0/

5.運行phpize命令,寫全phpize的路徑

~# /usr/local/php/bin/phpize

如果你用MAMP,此時會報錯,請見文尾附錄->

6.運行configure命令,配置時要將php-config的路徑附上

~# ./configure --with-php-config=/usr/local/php/bin/php-config

7.運行make命令

~# make

8.測試編譯安裝

~# make test

9.正式編譯安裝

~# sudo make install

10.修改php.ini

結尾加入:extension=ssh2.so

11.重啟對應的php-fpm

~# ps aux | grep php-fpm

找到php-fpm的pid,然后

kill {pid}

然后再啟動php-fpm

~# /usr/local/php/sbin/php-fpm

如果你用MAMP,直接GUI重啟即可


檢驗結果

打開phpinfo,可以看到:


附錄

報錯
grep: /Applications/MAMP/bin/php/php5.6.10/include/php/main/php.h: No such file or directory

grep: /Applications/MAMP/bin/php/php5.6.10/include/php/Zend/zend_modules.h: No such file or directory

grep: /Applications/MAMP/bin/php/php5.6.10/include/php/Zend/zend_extensions.h: No such file or directory

Configuring for:

PHP Api Version:

Zend Module Api No:

Zend Extension Api No:
原因

/Applications/MAMP/bin/php/php5.6.10/下缺少include文件夾

因為MAMP把include移到了/usr/include下

所以可以做了一個軟連接,先在/Applications/MAMP/bin/php/php5.6.10/下創建空include文件夾,然后執行

ln -s /usr/include/php /Applications/MAMP/bin/php/php5.6.10/include/ 

如果接下來的make步驟也報錯了,並提示

fatal error: ‘pcre.h‘ file not found

解決辦法:brew install pcre


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM