网上我看到有不少相关的文章都是简述这个问题的,但毕竟由于LINUX版本众多,不少LIUNX命令或路径都有所差异,有时一样的命令却不能执行同样的操做。php
这篇文章是我在实际运用当中配置成功的实例,但愿对你们有所帮助,开源是来自每一个人的无私帮助,每一个人的成长都是须要别人的扶植!废话就说到这了!apache
http://php.net/downloads.php (相应PHP版本下载)服务器
一、首先肯定LINUX下已安装的PHP版本,由于不一样PHP版本对于追加动态模块有兼容性问题(可能路径,配置?其余?),每每报错不能安装,追加的模块必须版本一致。网络
查看PHP版本有多种方法:编辑器
①运行php -v(但在个人64位LIUNX测试过没做用,缘由你知道的了!)测试
②在已安装好的PHP路径下找到php-config并进行查看,能够vi或cat (关键字:version="XXXXXXX"为PHP版本号)spa
vi 或cat php-config.net
二、下载好的PHP源代码包需人工上传到FTP网络服务器上,这时你的tar包可能只是放在WWW下,为了你本身方便查找和使用,建议创建本身的source文件夹进行存放。日志
创建文件夹:mkdir XXXXXX(文件夹名)orm
移动或复制文件:mv或cp php.tar /sourece(注意路径,”/“我是在根目录下建立的临时文件夹!)
解压tar包:tar zxfv php.tar(源代码tar包)
三、如今进入正题了,以追加动态模块openssl.so为例,进入PHP源码文件夹后,执行phpize生成configure进行模块追加:
#cd /source/php/ext/openssl 进入源码包的OPENSSL模块文件夹
#/var/www/php/bin/phpize 注意这个是已安装好的PHP路径(有些是版本多是在/usr/local/******下,每一个人的安装习惯不一样)
如出现如下错误:Cannot find config.m4. *****************************************
解决方法:
查看源码包OPENSSL文件夹下是否有config0.m4,若是有可执行,
#mv config0.m4 config.m4
四、进入最后的编译阶段了,我编译时是比较顺利的(有时ERROR若是出现,我也很差作阐述,只能靠本身查看errorlog日志了)
#./configure --with-openssl --with-php-config=/var/www/php/bin/php-config(注意:这个参数后的是你本机已安装好的PHP路径)
#make
#make test (测试编译结果)
#make install
当成功时会返回成功信息(注意查看,SO文件的所在位置):
Installing shared extensions: /usr/lib/20060613/(这路径是我虚拟的,正确请本身查找,会生成openssl.so文件)
通常规范点的话,会把追加的SO模块放在一个指定的文件夹里,就在PHP安装好的目录下的extensions文件夹内
#mv /*****/*****/openssl.so /var/www/php/lib/php/extensions
动态模块追加编译已所有完成了。。。。
最后就是要PHP支持加载这些追加的动态模块了,vi编辑PHP下的配置文件php.ini。
#vi /*******/*******/php.ini
进入编辑器后能够看到PHP的全部相关配置,查找extension_dir这个配置的选项,
vi后可直接‘/extension_dir '查找,找到后多是这样的:
extension_dir = "./"
需修改为:
extension_dir = "/var/www/php/lib/php/extensions/" (注意是so文件的所在)
extension=openssl.so (so模块文件名)
最后保存退出! :wq!
接着就是重启 apache服务器了!(有说人不用,但也就一个命令,我以为配置好重启仍是安心点!)
能够用命令查看下PHP的运行加载: /var/www/php/bin/php -m|grep openssl (路径啥的我就不说了,就是安装好的PHP路径就是了)
出现的信息可能会出现一些错误,但都是不要紧的:相似找不到什么DLL文件啊(openssl.dll之类的),别管他,DLL是WINDOWS主机服务器模块加载的类型,UNIX和LINUX是以SO为模块加载名的!