zoukankan      html  css  js  c++  java
  • 安装好的php独立添加扩展模块

    在装好php后,或者在使用php的时候,发现某个模块没有添加,而又不想重新编译安装,这时就需要单独添加扩展模块。

    php环境说明:

       安装路径:/data/php5.6/

       解压路径:/data/php-5.6.38/

       系统:ubuntu

    1.php的启动和关闭

    #/data/php5.6/sbin/php-fpm

    #PID=`ps -ef | grep php | grep master | awk '{print $2}'`

    #kill -s QUIT ${PID}

    2.查看已装好的模块

    #/data/php5.6/sbin/php-fpm -m

    3.首先进入php解压后源目录下ext目录

     4.这里举例添加一个bz2模块,进入ext下的bz2目录里,可以看到其目录下并无可执行文件configure

    5.进入模块目录下后,执行phpize命令,为其生成用来编译的一些文件

    若是首次添加模块,可能会报缺少autoconf的错,只需要执行 apt-get install autoconf 安装即可

    6.在当前目录下执行configure

    # ./configure --with-php-config=/data/php5.6/bin/php-config

    但是报错

    7.没有安装bzip2和bzip2-devel,接着apt执行安装

    但是竟然说找不到bzip2-devel这个软件包

    网上搜了一下,bzip2在Ubuntu里面真正的包名是libbz2-dev,就直接安装这个了

    8.接着再一次执行configure,若无error字眼,那就执行make和install

    #make

    #make install

    这个目录很关键,大概就是存放扩展的模块文件的地方

    9.修改php.ini文件(此步不正确)

    #vi /data/php5.6/php.ini

    其中,去掉扩展模块的注释,将extension=php_bz2.dll前的;去掉

    10.重启php,但是启动的时候竟然报错

    报错是说在某个目录下的某个文件,不能打开,是找不到文件。这个目录就是存放扩展模块文件的目录(A),,这文件名是刚才php.ini里配置的,那意思就是在php.ini里extension的模块名要在(A)目录里面存在,而bz2模块在(A)目录里的文件名是bz2.so

    11.再次重回php.ini修改

    启动php成功,再次查询已装模块

  • 相关阅读:
    超实用的 Nginx 极简教程,覆盖了常用场景(转)
    阿里云Redis开发规范(转)
    什么是 AQS ?
    缓存穿透、缓存并发、缓存失效之思路变迁(转)
    看不懂JDK8的流操作?5分钟带你入门(转)
    Redis 分布式锁的正确实现方式(转)
    urllib-Proxy
    基本urllib库
    Windows DOS 命令(持续更新...)
    java 位运算符
  • 原文地址:https://www.cnblogs.com/chy-op/p/9656380.html
Copyright © 2011-2022 走看看