對原始碼現成PHP--該如何進行擴充套件原始碼安裝?
PHP擴充套件安裝
今天安裝zabbix,發現需要安裝一些外掛,而這些外掛並沒有安裝在原有的PHP上。
1、 以安裝ldap擴充套件為例:
Zabbi顯示:
條件:已經原始碼安裝好了PHP
我這裡是使用oneinstack安裝的PHP,不影響主要是原始碼安裝
2、 檢視PHP版本
一定要檢視PHP版本然後再來安裝對於版本的php擴充套件,不然編譯會發生函式錯誤。
[[email protected] php]# pwd
/usr/local/php
[[email protected]
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
3、 解壓PHP包。
通過自己相對應的版本,我這裡是通過oneinstack安裝的,所以自帶有原始碼壓縮包
可以看到其裡面有很多的原始碼壓縮包。
解壓:
[[email protected] src]# tar -xf php-5.5.38.tar.gz
4、 安裝ldap的依賴包。
[[email protected]
5、 編譯安裝
6、 編譯出錯誤
configure: error: Cannot find ldap libraries in /usr/lib
這個是沒有找到ldap的庫。
[[email protected] src]#cp -frp /usr/lib64/libldap* /usr/lib/
7、 重新編譯安裝
[[email protected] ldap]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap
[[email protected] ldap]# make
[[email protected] ldap]# make install
檢視外掛so檔案
[[email protected] 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檔案新增擴充套件
[[email protected] ldap]# vim /usr/local/php/etc/php.ini
新增
extension=ldap.so
9、重啟讓擴充套件生效
10、檢視擴充套件是否已被安裝
可以發現擴充套件已經安裝完成了。
總結:
以前安裝zabbix時,發現裝PHP外掛都是yum安裝的,沒有經歷過原始碼安裝,經過這次,倒是熟悉了。