693579551 发表于 2018-12-12 08:43:05

11.33PHP动态扩展模块

  11.32 php扩展模块安装
  扩展
  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
  
  PHP动态扩展模块
  
  查看模块

  /usr/local/php/bin/php -m
  下面安装一个redis的模块
  进入下载目录
  cd /usr/local/src/
  下载redis安装包
  wget https://codeload.github.com/phpredis/phpredis/zip/develop
  由于包名有错误,所以将其改名并改至.zip后缀
  mv develop phpredis-develop.zip
  解压
  unzip phpredis-develop.zip
  进入解压后的目录
  cd phpredis-develop
  生成configure文件。因为目录没有configure文件
  /usr/local/php7/bin/phpize
http://s1.运维网.com/images/20180420/1524191078702441.png
  报错信息提示,找不到autoconf,接下来安装一下这个包。
  # yum install -y autoconf
  在重新尝试生成configure文件,生成成功
http://s1.运维网.com/images/20180420/1524191222994840.png
http://s1.运维网.com/images/20180420/1524191265548024.png
  接下来进行编译安装
  编译
  #./configure --with-php-config=/usr/local/php7/bin/php-config
  # echo $?
  0
  安装
  # make && make install
  # echo $?
  0
  # ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
  opcache.soredis.so
  生成了redis.so文件,
  
  检查加载模块没发现有redis,不支持redis
  # /usr/local/php7/bin/php -m |grep redis
  进行配置加载支持redis模块。
  查看扩展模块存放目录,我们可以在php.ini中去自定义该路径
  # /usr/local/php7/bin/php -i |grep extension_dir
  extension_dir => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303
  sqlite3.extension_dir => no value => no value
  增加一行配置(可以放到文件最后一行,也可以放到extension下面)
  #vim /usr/local/php7/etc/php.ini
  extension = redis.so
http://s1.运维网.com/images/20180420/1524192497782276.png
  redis已成功加载
  # /usr/local/php7/bin/php -m |grep redis
  redis


如果在php的编译包的/ext目录下有想要的相应的模块,例如zip模块,我们可以使其编译出来。
  # cd /usr/local/src/php-7.1.6/ext
http://s1.运维网.com/images/20180420/1524193349570703.png
进入相应模块目录进行生成编译文件.configure
  # cd zip/
  # ls
  config.m4   CREDITS   lib             php_zip.ctestszip_stream.c
  config.w32examplesLICENSE_libzipphp_zip.hTODO
#/usr/local/php7/bin/phpize
生成configure文件后,进行编译三部曲即可。


  ./configure --with-php-config=/usr/local/php7/bin/php-config
  make && make install
  查看模块文件.so,模块被成功编译出来。
  #ls/usr/local/php7/lib/php/extensions/no-debug-zts-20160303/
  opcache.soredis.sozip.so



页: [1]
查看完整版本: 11.33PHP动态扩展模块