原文链接

http://php.net/downloads.php (相应PHP版本下载),例如我下载的PHP版本是php-5.6.6

1、首先确定LINUX下已安装的PHP版本,因为不同PHP版本对于追加动态模块有兼容性问题(可能路径,配置?其他?),往往报错不能安装,追加的模块必须版本一致。

查看PHP版本有多种方法:

①运行php -v

②在已安装好的PHP路径下找到php-config并进行查看,可以vi或cat

(关键字:version="XXXXXXX"为PHP版本号)

vi 或cat php-config

2、下载好的PHP源代码包需人工上传到FTP网络服务器上,这时你的tar包可能只是放在WWW下,为了你自己方便查找和使用,建议建立自己的source文件夹进行存放。(这一步我就省了不需要了)

建立文件夹:mkdir XXXXXX(文件夹名)

移动或复制文件:mv或cp php.tar

/sourece(注意路径,”/“我是在根目录下创建的临时文件夹!)

解压tar包:tar zxfv

php.tar(源代码tar包)

3、现在进入正题了,以追加动态模块openssl.so为例,进入PHP源码文件夹后,执行phpize生成configure进行模块追加:

#cd

/php-5.6.6/ext/openssl 进入源码包的OPENSSL模块文件夹

#/usr/local/bin/phpize 注意这个是已安装好的PHP路径

如出现以下错误:Cannot find config.m4.

*****************************************

解决方法:

查看源码包OPENSSL文件夹下是否有config0.m4,如果有可执行,

#mv config0.m4 config.m4

4、进入最后的编译阶段了,我编译时是比较顺利的(有时ERROR如果出现,我也不好做阐述,只能靠自己查看errorlog日志了)

#./configure --with-openssl --with-php-config=/usr/local/bin/php-config(注意:这个参数后的是你本机已安装好的PHP路径)(我的注解,这里我会出现./configure

not recoginized option --with-php-config, 运行./configure

--help之后发现没有--with-php-config这个参数,所以我觉得这里可以去掉--with-php-config=的这个参数)#make

#make test (测试编译结果)

#make install

当成功时会返回成功信息(注意查看,SO文件的所在位置):

Installing shared

extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/

这个目录下会生成openssl.so文件

(我自己注明:经过以上操作,并没有生成openssl.so模块文件。

最后进入php的源文件目录/php-5.6.6/ext/openssl/, 然后在这个目录下运行 ./configure , make

, make install ,这次才在/usr/local/lib/php/extensions/no-debug-non-zts-20131226/

下生成了openssl.so模块文件。)

动态模块追加编译已全部完成了。。。。

5, 最后就是要PHP支持加载这些追加的动态模块了,vi编辑PHP下的配置文件php.ini。

#vi /usr/local/lib/php.ini

进入编辑器后可以看到PHP的所有相关配置,查找extension_dir这个配置的选项,

vi后可直接‘/extension_dir '查找,找到后可能是这样的:

extension_dir  = "./"

需修改成:

extension_dir

= "/usr/local/lib/php/extensions/no-debug-non-zts-20131226/" (注意是so文件的所在)

extension=openssl.so (so模块文件名)

最后保存退出! :wq!

接着就是重启 apache服务器了!(有说人不用,但也就一个命令,我觉得配置好重启还是安心点!)

可以用命令查看下PHP的运行加载: php -m|grep

openssl(路径啥的我就不说了,就是安装好的PHP路径就是了)

出现的信息可能会出现一些错误,但都是没关系的:类似找不到什么DLL文件啊(openssl.dll之类的),别管他,DLL是WINDOWS主机服务器模块加载的类型,UNIX和LINUX是以SO为模块加载名的!

原文链接:

安装mcrypt模块的过程和上面那个很像,如果用

cd php-5.6.6/ext/mcrypt/

phpize

./configure

会出现错误提示,"checking for mcrypt support... yes, shared

configure: error: mcrypt.h not found. Please reinstall

libmcrypt."

根据上面链接的文章的指导,重新下载安装libmcrypt.

wget

ftp://rpmfind.net/linux/epel/6/i386/libmcrypt-devel-2.5.8-9.el6.i686.rpm

sudo rpm -ivh libmcrypt-devel-2.5.8-9.el6.i686.rpm

cd php-5.6.6/ext/mcrypt/

phpize

sudo ./configure --with-php-config=/usr/local/bin/php-config

sudo make

sudo install

用命令ls /usr/local/lib/php/extensions/no-debug-non-zts-20131226/

可以查看到mcrypt.so模块已经生成在该目录下了。

没有php5.sowenjian_(转)LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例...相关推荐

  1. linux php curl扩展下载,linux下为php添加curl扩展的方法

    linux下为php添加curl扩展的方法 发布于 2014-12-19 18:36:10 | 106 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...

  2. php iconv linux,linux下为php添加iconv模块的方法,linuxiconv_PHP教程

    linux下为php添加iconv模块的方法,linuxiconv ./configure --with-mysql=/backup/mysql --with-freetype-dir --with- ...

  3. linux下查看和添加PATH环境变量

    linux下查看和添加PATH环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PA ...

  4. linux下用户的添加

    linux下用户的添加 在linux下用户添加的命令使用: useradd 然再使用:  passwd  为用户添加密码 例如,使用useradd    zhangsan         #就创建了一 ...

  5. linux下的opencv-4.5.5 及 opencv_contrib 扩展模块安装

    适用于ubuntu(20.04)下安装opencv-4.5.5 以及opencv_contrib 扩展模块一并安装,如果已经安装了opencv-4.5.5,需要安装扩展模块的话,跳过第3步opencv ...

  6. Linux下crontab命令添加Kettle作业定时任务

    1. 确保作业 $KETTLE_HOME/kitchen.sh -file=/data1/testdata/testkjb.kjb 或转换 $KETTLE_HOME/pan.sh -file=/dat ...

  7. Linux下:matplotlib 添加 Times New Roman字体

    1. 将 times.ttf,timesbd.ttf,timesbi.ttf,timesi.ttf 文件放置如下目录下: ~/lib/python3.6/site-packages/matplotli ...

  8. linux 怎么刷新,Linux下要不要添加“刷新”按钮?Linux用户怎么看?以下附上评论...

    有些人对Deepin Linux操作系统丢掉"刷新"按钮抱有成见,觉得应该加上"刷新"功能,有些人则认为不要用Windows的思维来操作Linux,下面听听其他 ...

  9. 交叉编译php-5.6.30,linux下用arm-none-linux-gnueabi交叉编译arm内核模块

    前不久导师要求交叉编译一个基于arm平台开发的内核模块来练手,在网上查了很多资料才弄出来,于是将这些零散的信息综合起来给和我一样的入门人员了解.水平有限,请谅解~ 1.安装arm-none-linux ...

最新文章

  1. 牛!王军等喜提NBT:用AI在肠道超高效“挖”抗菌肽(附独家专访) | 热心肠日报...
  2. 2021 跨境电商发展关键词:品牌化、独立站、多渠道精细化
  3. Java笔记:String类
  4. linux性能监控命令
  5. 09_期望极大法EM2_统计学习方法
  6. 流式布局和viewport
  7. 【C++】map/multimap容器
  8. 百度有道谷歌api集成批量翻译器
  9. ppt如何替换其他mo ban_超实用办公软件小技巧之PPT~
  10. “已取消到该网页的导航” chm文件无法显示错误 解决方法
  11. mac数字键盘错乱_苹果笔记本数字键盘打不出数字怎么办_苹果笔记本按不出数字如何解决-win7之家...
  12. import org.junit.Test飘红
  13. 语音助手——助手中用到的那些分类模型
  14. 远程计算机或设备将不接受连接,IE无法上网
  15. linux如何使用帮助文档快速学习
  16. 2021年新实施的税收优惠政策汇总
  17. 台式机显示计算机无gva输入,电脑显示器显示无视频输入怎么办
  18. CountVectorize和TfidVectorizer实例及参数详解
  19. AIMP(高品质电脑音乐播放器)官方中文版V5.00.2334 | 电脑上音质最好的音乐播放器 | aimp播放器中文版下载
  20. 蒲公英使用一行命令上传Apk文件

热门文章

  1. who whos exist inf
  2. 配置Sublime Text3和MASM32编译汇编的问题汇总
  3. [RN] React Native 定义全局变量
  4. 做tab切换时,点击浏览器返回拿不到实时的tab参数,请求不到实时的数据
  5. 结对项目:黄金点游戏(何珠赵艳)
  6. WPF DataGrid 样式分享
  7. c#构造器的一点理解(三)
  8. inout口简单说明
  9. [转载] python画柱状图-Python绘制精美图表之双柱形图
  10. [转载] python 一个简单的天气预报程序