Linux下为已编译安装的PHP安装一个新模块
来源:互联网 发布:机器人编程招聘 编辑:程序博客网 时间:2024/05/20 13:19
我们可能经常会遇到这样的问题,就是花了比较长的时间把php环境安装完之后发现有一个必须的模块忘记加到配置里面,或者在经过一段时间之后发现自己需要用到php的某个模块或外挂模块,这时候总不可能把已经安装好的php卸载了重新安装在安装时将模块配置进去吧?这样感觉很傻的样子。之前我就遇到这样的问题,在朋友的怂恿下还真的把php卸载了重新安装过【囧】...然而事实上并不用这样,我们可以在原来的基础上进行模块添加的。
有童鞋可能会发现php安装目录中 /usr/local/php/bin 下存在 phpize 这样一个可执行文件,它就跟安装php模块有关,那么 phpize是什么呢?
php官方的说明:http://php.net/manual/en/install.pecl.phpize.php
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。比如你想在原来编译好的php中加入memcache或者ImageMagick等扩展模块,可以使用phpize,通过以下几步进行操作。(下面以安装memcache为例)
1. 首先确定该扩展是否为php源码中已经集成的,具体可以进入源码包对应目录如 /tmp/php-5.6.15/ext 中查找
# cd /tmp/php-5.6.15/ext
# ll | grep memcache
若存在,则可以使用源码直接安装,否则下载源码包进行安装
# wget http://pecl.php.net/get/memcache-2.2.7.tgz
# tar -zxf memcache-2.2.7.tgz
(注意:我们安装的是php的memcache模块,而不是memcached程序,实际要使memcache模块生效,还需要安装memcached程序)
2. 进入安装包中,执行phpize,产生configure可执行文件
# cd [目录]/memcache
# phpize (或/usr/local/php/bin/phpize)
3. 运行可执行文件 configure
# ./configure --with-php-config=/usr/local/php/bin/php-config
4. make 安装
# make
# make install
执行上述步骤后显示 :Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/ ,说明memcache扩展已经安装到上述目录下了,进入查看,确实已经存在了
5. 最后一步是修改php.ini配置文件使新模块生效
# vi /usr/local/php/etc/php.ini
在 Dynamic Extensions(动态扩展) 那部分下面添加 extension=memcache.so,保存后退出,重启php
运行php命令查看memcache模块是否加载成功
# php -m
若出现memcache 则模块成功安装。
注:当安装php外挂扩展时,上面的第三步可能会出现如下的错误:
Cannot find config.m4.
Make sure that you run '/usr/local/php-5.6.15/bin/phpize' in the top level source directory of the module
检查下是否已经进入你所要安装的扩展目录。
- Linux下为已编译安装的PHP安装一个新模块
- linux下apache编译安装后添加新模块
- linux php安装编译模块
- linux 下模块的编译和安装
- linux下 安装php的gettext模块
- 已安装php 编译安装 gd库拓展模块
- linux下编译php扩展:php7安装redis为例
- centos下单独编译安装php的pdo_mysql模块
- linux下php编译安装
- ubuntu下为php安装sqlite模块
- Linux下强制卸载已安装的php!
- Linux下强制卸载已安装的php!
- 通过phpize为php在不重新编译php情况下安装模块openssl
- Linux:在已安装nginx情况下安装nginx模块
- Linux下USB转串口的模块编译安装问题
- Linux下编译安装Apache及模块
- linux(centos7)下php的安装(在上一篇帖子apache安装之后)(mysql很久以前就已安装,未再写[实际本机为mariaDB])
- OPENSIPS编译安装新模块
- uva 1103 dfs染色+dfs判断围块
- IOS中类和对象还有,nil/Nil/NULL的区别
- Intent的标记含义
- 推荐系统导论笔记(二)
- 素数判定
- Linux下为已编译安装的PHP安装一个新模块
- Altium Designer 常用快捷键总结
- ACTIVITY 启动模式
- 偶数求和
- 零死角玩转2440下NandFlash拷贝并跳转到SDRAM的(启动过程详解)
- Java面对对象入门
- accept()ing when you can’t问题分析
- 像top一样动态显示变化的状态
- 69道Spring面试题和答案