前几天需要安装一个testlink,安装到检查一步时发现php不支持ldap,所以需要为php增加这个模块。
安装步骤
1、进入到php安装源码目录
root@vm-199:~/lnmp0.9# cd php-5.3.28
root@vm-199:~/lnmp0.9/php-5.3.28# cd ext/ldap/
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# ll
total 136
drwxr-xr-x 3 501 staff 4096 2014-08-06 17:17 ./
drwxr-xr-x 79 501 staff 4096 2014-08-06 17:17 ../
-rw-r--r-- 1 501 staff 6205 2013-12-11 03:04 config.m4
-rw-r--r-- 1 501 staff 1058 2013-12-11 03:04 config.w32
-rw-r--r-- 1 501 staff 77 2013-12-11 03:04 CREDITS
-rw-r--r-- 1 501 staff 73028 2013-12-11 03:04 ldap.c
-rw-r--r-- 1 501 staff 18762 2013-12-11 03:04 ldap.dsp
-rw-r--r-- 1 501 staff 4464 2013-12-11 03:04 ldap.mak
-rw-r--r-- 1 501 staff 1546 2013-12-11 03:04 LDAP_Win32_HOWTO.txt
-rw-r--r-- 1 501 staff 1896 2013-12-11 03:04 php_ldap.h
drwxr-xr-x 2 501 staff 4096 2013-12-11 03:04 tests/
2、运行phpize
phpize 命令是用来准备 PHP 扩展库的编译环境的。随着工作需要,如果想增加模块但又不想重新编译php时就可以使用phpize。
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
3、编译安装
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# ./configure -with-ldap -with-php-config=/usr/local/php/bin/php-config
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# make
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# ls -l /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
total 676
-rwxr-xr-x 1 root root 132812 2014-12-12 17:06 ldap.so
-rwxr-xr-x 1 root root 235459 2014-08-06 17:45 memcache.so
-rwxr-xr-x 1 root root 315854 2014-08-19 10:26 pgsql.so
4、php.ini文件增加模块
root@vm-199:~/lnmp0.9/php-5.3.28/ext/ldap# vi /usr/local/php/etc/php.ini
添加extension = "ldap.so",如下图所示,重启php 。
这样php的ldap模块就增加好了,可以运行phpinfo()检查。
安装总结
这个原理其实和之前 php增加postgresql数据库 支持一样,都是通过phpize来实现的。