lijm1522 发表于 2018-12-12 08:38:10

四十五、PHP扩展模块安装

     当已经安装编译了PHP,却发现少安装了一个模块,就可以使用扩展模块去编译。
  查看模块:/usr/local/php/bin/php -m
  

  示例安装一个redis模块:
  # cd /usr/local/src
  # wget https://codeload.github.com/phpredis/phpredis/zip/develop
  # mv develop phpredis-develop.zip
  # unzip phpredis-develop.zip
  # cd phpredis-develop/
  # /usr/local/php7/bin/phpize   //为了生成configure文件
  Configuring for:
  PHP Api Version:         20160303
  Zend Module Api No:      20160303
  Zend Extension Api No:   320160303
  Cannot find autoconf. Please check your autoconf installation and the首次会报错说少了autoconf这个包
  $PHP_AUTOCONF environment variable. Then, rerun this script.
  # yum install -y autoconf
  # /usr/local/php7/bin/phpize此时就可以ls看到有configure这个文件了
  # ./configure --with-php-config=/usr/local/php7/bin/php-config
  一般情况下只需要加这个选项就可以了。
  # make
  # make install   //会把redis.so的文件放到这个20160303目录下
  Installing shared extensions:   /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
  此时redis模块还没有加载,需要配置一下:
  # /usr/local/php7/bin/php -i |grep extension_dir//查看扩展模块存放目录,可在php.ini中自定义该路径。
  # vim /usr/local/php7/etc/php.ini//增加一行配置,可放在最后一行
  extension=redis.so
  # /usr/local/php7/bin/php -m |grep redis//已经加载好了
  redis
  通常扩展模块会放到这个目录下/usr/local/php7/lib/php/extensions/
  

  # cd /usr/local/src/php-7.1.6/ext
  当你想编译一个扩展模块时,如果它自带的源码包里的ext目录下有这个模块的目录,那你就可以直接进这个模块的目录下去编译它。
  进入目录,
  然后/usr/local/php7/bin/phpize
  再加一条# ./configure --with-php-config=/usr/local/php7/bin/php-config
  再# make && make install
  然后进/usr/local/php7/etc/php.ini增加一行extension=zip.so的配置就可以加载出来了。
  

  扩展
  apache rewrite教程 http://coffeelet.blog.163.com/blog/static/13515745320115842755199/http://www.cnblogs.com/top5/archive/2009/08/12/1544098.html
  apache rewrite 出现死循环 http://ask.apelearn.com/question/1043
  php错误日志级别参考 http://ask.apelearn.com/question/6973
  php开启短标签 http://ask.apelearn.com/question/120
  php.ini详解 http://legolas.blog.运维网.com/2682485/493917



页: [1]
查看完整版本: 四十五、PHP扩展模块安装