最近工作维护一个项目,后面又来了另外一个项目。第一个项目用的是redis,第二个项目用的是memcache的。于是得装memcache扩展,最早想的是用php的pecl安装扩展,这种方法快速简便。结果发现php没有带这个插件。于是想了下,直接用yum安装得了,于是yum install memcache。这一装,还没成功,于是只有去网上下memcache的包下来编译安装了。
第二个项目的环境是搭好了,结果发现了第一个项目的环境出了问题,web访问项目是没有问题的,但是cli下php运行脚本的时候会报没有mysqli这个扩展,想了好久愣是没想出原因,后面问了下同事有没有遇到过这种情况,他说他之前遇到过一次,让我看下cli下的php的版本和web的版本是否一致。结果发现真的不一致。可是我想了下,我没有二次装过php啊,然后想起来应该是yum install memcache的时候引起的,yum会把连带的依赖包全都装了。
rpm -qa | grep php
展示(之前的php是编译安装的):
php-cli-5.3.3-27.el5_5.3
php-common-5.3.6-27.el5_5.3
php-memcache....
等等,果然是memcahce引起的,于是删除啊。
rpm -e php-cli-5.3.3-27.el5_5.3
error: Failed dependencies:
php-cli is needed by (installed) php-memcache....
卸载都得按照依赖来。
弄完,发现php命令在cli底下不可以直接用了,一定要 /usr/local/php/bin/php 太长。
修改/etc/profile的PATH变量。
刚开始定义PATH=/usr/local/php/bin/php,然后source /etc/profile
结果发现其他的命令都不可以用了,ls,cd,vim。大吃一惊,这下傻了,就差没冒汗。
百度,发现可以先 /bin/vi 修改,吓蒙了,忘记了,可以直接写全路径访问命令。
于是 /bin/vi /etc/profile 再次修改PATH。PATH=$PATH:/usr/local/php/bin(linux下PATH多个用:隔开)。
再次source /etc/profile 搞定,一切安好!
已有0条评论