zoukankan      html  css  js  c++  java
  • LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例)

    网上我看到有很多相关的文章都是简述这个问题的,但毕竟因为LINUX版本众多,很多LIUNX命令或路径都有所差别,有时同样的命令却不能执行一样的操作。

    这篇文章是我在实际运用当中配置成功的实例,希望对大家有所帮助,开源是来自每个人的无私帮助,每个人的成长都是需要别人的扶植!废话就说到这了!

    http://php.net/downloads.php  (相应PHP版本下载)

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

    查看PHP版本有多种方法:

    ①运行php -v(但在我的64位LIUNX测试过没作用,原因你知道的了!)

    ②在已安装好的PHP路径下找到php-config并进行查看,可以vi或cat (关键字:version="XXXXXXX"为PHP版本号)

    vi 或cat php-config

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

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

    移动或复制文件:mvcp php.tar /sourece(注意路径,”/“我是在根目录下创建的临时文件夹!)

    解压tar包:tar zxfv php.tar(源代码tar包)

    3、现在进入正题了,以追加动态模块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

    4、进入最后的编译阶段了,我编译时是比较顺利的(有时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为模块加载名的!

  • 相关阅读:
    python 执行sql得到字典格式数据
    python爬虫 url链接编码成gbk2312格式
    windows环境下elasticsearch安装教程(单节点)
    python SQLServer 存储图片
    爬虫的本质是和分布式爬虫的关系
    requests form data 请求 爬虫
    mysql 删除 binlog 日志文件
    查看mysql数据表的大小
    xshell 连接报错 Disconnected from remote host
    centos 7.3 安装 mysqldb 报错 EnvironmentError: mysql_config not found ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  • 原文地址:https://www.cnblogs.com/doseoer/p/4367536.html
Copyright © 2011-2022 走看看