對源碼現成PHP--該如何進行擴展源碼安裝?

        PHP擴展安裝

今天安裝zabbix,發現需要安裝一些插件,而這些插件並沒有安裝在原有的PHP上。

1、  以安裝ldap擴展爲例:

Zabbi顯示:

image.png

條件:已經源碼安裝好了PHP

我這裏是使用oneinstack安裝的PHP,不影響主要是源碼安裝


2、  查看PHP版本

一定要查看PHP版本然後再來安裝對於版本的php擴展,不然編譯會發生函數錯誤。

[root@ms-local-server php]# pwd

/usr/local/php

 

[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

 

3、  解壓PHP包。

通過自己相對應的版本,我這裏是通過oneinstack安裝的,所以自帶有源碼壓縮包

 

image.png

可以看到其裏面有很多的源碼壓縮包。

解壓:

[root@ms-local-server src]# tar -xf php-5.5.38.tar.gz

4、  安裝ldap的依賴包。

[root@ms-local-server src]#yum install openldap-deve openldap

5、  編譯安裝

image.png

6、  編譯出錯誤

configure: error: Cannot find ldap libraries in /usr/lib

這個是沒有找到ldap的庫。

[root@ms-local-server src]#cp -frp /usr/lib64/libldap* /usr/lib/

7、  重新編譯安裝

[root@ms-local-server ldap]# ./configure  --with-php-config=/usr/local/php/bin/php-config  --with-ldap

[root@ms-local-server ldap]# make

image.png

[root@ms-local-server ldap]# make install

image.png

查看插件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

8php.ini文件添加擴展

[root@ms-local-server ldap]# vim /usr/local/php/etc/php.ini

添加

extension=ldap.so

9、重啓讓擴展生效

image.png

10、查看擴展是否已被安裝

image.png

可以發現擴展已經安裝完成了。

總結:

以前安裝zabbix時,發現裝PHP插件都是yum安裝的,沒有經歷過源碼安裝,經過這次,倒是熟悉了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章