如何动态增加Apache和PHP模块
一.Apache动态增加模块:
cd /home/redhat/httpd-2.2.15/modules/filters
/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c
apxs命令参数说明:
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。
重启生效:/usr/local/apache2/bin/apachectl restart
二.PHP动态增加模块:
以添加memcache模块为例,
wget http://pecl.php.net/get/memcache-3.0.8.tgz
tar zxf memcache-3.0.8.tgz
cd memcache-3.0.8
/usr/local/php/bin/phpize #通过phpize添加php扩展插件
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ #查看是否有memcache.so文件
配置php.ini:
cd /usr/local/php/lib
cp php.ini php.ini.bak #备份配置文件
vim php.ini搜索extension_dir,在后面加入插件路径/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/,注意php.ini的注释符为;号,去掉注释符后必须顶格
并且增加一行extension = memcache.so
kill -SIGUSR2 `cat /app/logs/php-fpm.pid` (Nginx下平滑重启php生效)
最后查看phpinfo页面,搜索memcache,如果有的话表示安装成功
本文出自 “linux运维” 博客,转载请与作者联系!
原文地址:http://xxr007.blog.51cto.com/10602872/1858742