PHP擴展安裝php
今天安裝zabbix,發現須要安裝一些插件,而這些插件並無安裝在原有的PHP上。vim
一、 以安裝ldap擴展爲例:ide
Zabbi顯示:函數
條件:已經源碼安裝好了PHPui
我這裏是使用oneinstack安裝的PHP,不影響主要是源碼安裝spa
二、 查看PHP版本插件
必定要查看PHP版本而後再來安裝對於版本的php擴展,否則編譯會發生函數錯誤。debug
[root@ms-local-server php]# pwdorm
/usr/local/phpserver
[root@ms-local-server php]# ./bin/php -version
PHP 5.5.38 (cli) (built: Jun 1 2018 09:51:57)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.0.0 (), Copyright (c) 2002-2017, by ionCube Ltd.
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
三、 解壓PHP包。
經過本身相對應的版本,我這裏是經過oneinstack安裝的,因此自帶有源碼壓縮包
能夠看到其裏面有不少的源碼壓縮包。
解壓:
[root@ms-local-server src]# tar -xf php-5.5.38.tar.gz
四、 安裝ldap的依賴包。
[root@ms-local-server src]#yum install openldap-devel openldap
五、 編譯安裝
六、 編譯出錯誤
configure: error: Cannot find ldap libraries in /usr/lib
這個是沒有找到ldap的庫。
[root@ms-local-server src]#cp -frp /usr/lib64/libldap* /usr/lib/
七、 從新編譯安裝
[root@ms-local-server ldap]# /usr/local/php/bin/phpize
[root@ms-local-server ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
[root@ms-local-server ldap]# make
[root@ms-local-server ldap]# make install
查看插件so文件
[root@ms-local-server ldap]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ | grep ldap
-rwxr-xr-x 1 root root 184944 Dec 21 13:35 ldap.so
8、php.ini文件添加擴展
[root@ms-local-server ldap]# vim /usr/local/php/etc/php.ini
添加
extension=ldap.so
9、重啓讓擴展生效
10、查看擴展是否已被安裝
能夠發現擴展已經安裝完成了。
總結:
之前安裝zabbix時,發現裝PHP插件都是yum安裝的,沒有經歷過源碼安裝,通過此次,卻是熟悉了。