用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.sosession.cookie_lifetime = 86400session.gc_maxlifetime = 86400session.save_handler = memcachesession.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)