当服务器上PHP已经
安装好,需要额外添加PHP
扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。\x0d\x0a这次
编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。\x0d\x0a下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)\x0d\x0a做法一:\x0d\x0a1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。\x0d\x0a$cd /home/pkgs/php-5.3.3/ext/xsl\x0d\x0a2.调用phpize程序生成编译配置文件。\x0d\x0a$/home/app/php5.3.3/bin/phpize\x0d\x0a3.编译扩展库,分别执行下面的configure和make命令。\x0d\x0a$./configure-with-php-config=/home/app/php5.3.3/bin/php-config\x0d\x0a这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。\x0d\x0a$make\x0d\x0a#make成功执行后,生成的扩展库文件在当前目录的 modules子目录下,\x0d\x0a如/home/php-5.3.3/ext/curl/modules/xsl.so\x0d\x0a4.配置php.ini文件\x0d\x0a#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。\x0d\x0a$ cp /home/pkg/php-5.3.3/ext/xsl/modules/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626\x0d\x0a#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。\x0d\x0aextension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”\x0d\x0aextension=xsl.so\x0d\x0a5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.
下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。
1、找到php原码安装文件
2、cd /home/php/ext/myslqi
3、运行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make &&make install
6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件
7、编辑php.ini文件,指定php到哪人目录读取模块
vi /usr/local/php/etc/php.ini
extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重启php服务 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。
评论列表(0条)