用phpize加载php的扩展模块

用phpize加载php的扩展模块

专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业邳州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

 

 使用php常见的问题是:编译php时忘记添加某个扩展模块,后来想添加扩展模块,可以使用phpize

 phpize是用来加载php扩展模块的,通过phpize可以建立php的外挂模块(就是类似打开加载模块)

方法:

首先查看php版本 :php -v

例如:添加openssl模块

      若存在(即在/usr/local/src/php-5.5.22/ext/这个目录下有openssl/这个目录)

      cd /usr/local/src/php-5.5.22/ext/openssl

      openssl/目录下有个config.w32和config0.m4,把config0.m4改名为config.m4:mv config0.m4 config.m4

      执行:/usr/local/php/bin/phpize(会发现当前目录openssl/下多了一些configure文件)

      再执行: ./configure  --with-php-config=/usr/local/php/bin/php-config (此路径根据实际安装的情况而定)

      最后:make && make install

      然后在/usr/local/php/etc/php.ini文件里加上一句: 

            extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/" (根据情况而定)

            extension = "openssl.so"

           /usr/local/php/sbin/php-fpm  (杀掉php-fpm进程,重新启动)

例如:添加memcache扩展模块

      若不存在(即在/usr/local/src/php-5.5.22/ext/这个目录下没有memcache这个目录)

      我们要做如下几步:

      cd /usr/local/src/

      wget http://pecl.php.net/get/memcache-2.2.7.tgz

      tar -zxf memcache-2.2.7.tgz

      cd memcache-2.2.7

      /usr/local/php/bin/phpize             #可以用find / -name phpize 查找路径

      ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config

      make

      make install

      注意:在执行make install时,若没有出错,则会输出:

            Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/

            把这个路径记录下来,待会还会用到

      vi /usr/local/php/etc/php.ini                #修改配置文件

      找到 extension_dir ,在相应的位置添加以下行:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"
extension = memcache.so
session.cookie_lifetime = 86400
session.gc_maxlifetime = 86400
session.save_handler = memcache
session.save_path = "tcp://192.168.186.131:11211"
#session.save_path = "tcp://192.168.186.131:11211,tcp://192.168.xxx.xxx:11211"

      [root@scj ~]# ps -ef | grep php             #找到php的主进程号

      root     12139     1  0 05:46 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)

      nobody   12140 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12141 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12142 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12143 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12144 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12145 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12146 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12147 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12148 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      nobody   12149 12139  0 05:46 ?        00:00:00 php-fpm: pool www          

      root     12160  1869  0 05:47 pts/0    00:00:00 grep php

      kill -SIGUSR2 12139                       #重新启动php(类似reload)


本文标题:用phpize加载php的扩展模块
文章起源:http://ybzwz.com/article/joijoe.html