yum+install+redis+php,yum安装php7,及编译安装redis,memcache,mongodb扩展

一、php7安装:

CentOS/RHEL 7.x:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS/RHEL 6.x:

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

我拿了两台6.x的测试,另外一台安装提示:Package: php70w-mcrypt-7.0.12-1.w6.x86_64 (webtatic) Requires: libmcrypt.so()64的错误

多安装:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

然后运行:

yum install php70w php70w-bcmath php70w-cli php70w-common php70w-fpm php70w-mcrypt php70w-mysqli php70w-pear php70w-devel php70w-mbstring php70w-gd php70w-opcache

以上参考:http://blog.csdn.net/dxywx/article/details/50609137

二、redis安装:

服务:

请查看历史博文 http://www.webyang.net/Html/web/article_174.html

扩展:

cd /opt

git clone https://github.com/phpredis/phpredis.git

/usr/bin/phpize

./configure --with-php-config=/usr/bin/php-config

make && make install

三、memcache安装:

服务:

yum install memcached

扩展:

cd /opt

git clone https://github.com/websupport-sk/pecl-memcache.git

(介绍页:https://github.com/websupport-sk/pecl-memcache,很多人memcache扩展找不到)

/usr/bin/phpize

./configure --with-php-config=/usr/bin/php-config

make && make install

四、mongodb安装:

服务:

查看历史博文:http://www.webyang.net/Html/web/article_274.html

不过有台机器启动的时候报了个错:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory。

解决方法:先执行yum whatprovides libstdc++.so.6(查看哪个安装包包含该库),打印如下:

[root@BJ-YZ-S-23106 bin]# yum whatprovides libstdc++.so.6

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

* base: mirrors.btte.net

* extras: mirrors.btte.net

* updates: mirror.neu.edu.cn

libstdc++-4.4.7-16.el6.i686 : GNU Standard C++ Library

Repo        : base

Matched from:

Other       : libstdc++.so.6

然后再执行:yum install libstdc++-4.4.7-16.el6.i686

此处参考:https://my.oschina.net/xiaohai945/blog/491211

扩展:

https://pecl.php.net/package/mongodb(最新的1.2.2没装上去,1.1.9试了可以)

cd /opt

wget https://pecl.php.net/get/mongodb-1.1.9.tgz

tar -xzvf mongodb-1.1.9.tgz

cd mongodb-1.1.9

/usr/bin/phpize

./configure --with-php-config=/usr/bin/php-config

make && make install

另外需要注意:php5.x的mongodb扩展可以是mongo、mongodb(我试了mongodb装不上,mongo可以),php7的mongodb扩展只支持mongodb,而且mongo扩展被抛弃,不提供更新,但是历史版本仍然可用。

五、其他:

vi /etc/php.ini

添加

extension=redis.so

extension=memcache.so

extension=mongodb.so

正常编译安装的都在 /usr/local/php底下,但是yum安装的则相对比较分散(这是我不太喜欢yum安装的一个原因)。

编译安装的php5.x:

/usr/local/php/sbin/php-fpm

/usr/local/php/etc/php-fpm.conf

/usr/local/php/bin/php

yum安装的php7:

/usr/sbin/php-fpm

/etc/php-fpm.conf

/etc/php-fpm.d/www.conf

/usr/bin/php

扩展:

/usr/lib64/php/modules/

php-fpm启动脚本:

vim /etc/init.d/php-fpm7

#!/bin/bash

#

# Startup script for the PHP-FPM server.

#

# chkconfig: 345 85 15

# description: PHP is an HTML-embedded scripting language

# processname: php-fpm

# config: /usr/local/php/etc/php.ini

# Source function library.

. /etc/rc.d/init.d/functions

DESC="php-fpm daemon"

NAME=php-fpm

# php-fpm路径

DAEMON=/usr/sbin/$NAME

# 配置文件路径

CONFIGFILE=/etc/php-fpm.conf

# PID文件路径(在php-fpm.conf设置)

PIDFILE=/var/run/$NAME/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.

test -x $DAEMON || exit 0

rh_start() {

$DAEMON -y $CONFIGFILE || echo -n " already running"

}

rh_stop() {

kill -QUIT `cat $PIDFILE` || echo -n " not running"

}

rh_reload() {

kill -HUP `cat $PIDFILE` || echo -n " can't reload"

}

case "$1" in

start)

echo -n "Starting $DESC: $NAME"

rh_start

echo "."

;;

stop)

echo -n "Stopping $DESC: $NAME"

rh_stop

echo "."

;;

reload)

echo -n "Reloading $DESC configuration..."

rh_reload

echo "reloaded."

;;

restart)

echo -n "Restarting $DESC: $NAME"

rh_stop

sleep 1

rh_start

echo "."

;;

*)

echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2

exit 3

;;

esac

exit 0

因为两个项目需要不同的php版本,所以我在一台服务器上装了两个php,一个编译的5.x,一个yum的7.0,php-fpm的一个监听端口改为9001,nginx也需要小调整下fastcgi_pass的解析,其他没变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值