系统版本:
CentOS Linux release 7.4.1708 (Core)
PHP5.6下载地址:
需要装好yum的epel-release,这上面有相对应的依赖包,否则依赖包没装好编译会报错!!!
安装相关依赖关系包
yum -y install gcc gcc-c++ php php-mysq bzip2-devel libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-deve php-mcrypt libmcrypt libmcrypt-devel freetype-devel
创建用户、用户组
groupadd www
useradd -g www -s /sbin/nologin -M www
-s表示指定用户所用的shell,此处为/sbin/nologin,表示不登录。
-M表示不创建用户主目录。
-g表示指定用户的组名为www
解压php5.6包,并把包改名拷贝到/usr/local/php
tar -zxvf php-5.6.37.tar.gz
cp –r php-5.6.37 /usr/local/php
接下来就是编译安装了,cd到/usr/local/php
./configure --prefix=/usr/local/php
–with-pdo-mysql
–with-mysqli=mysqlnd
–with-mysql=mysqlnd
–with-mysql-sock=/tmp/mysql.sock
–without-pdo-sqlite
–with-gd
–with-bz2
–enable-bcmath
–enable-soap
–with-openssl
–enable-opcache
–with-zlib
–enable-zip
–with-mhash
–enable-exif
–enable-mbstring
–with-iconv
–with-mcrypt
–with-curl
–with-freetype-dir
–with-jpeg-dir
–with-png-dir
–enable-fpm
–enable-pcntl
–with-fpm-user=www
–with-fpm-group=www
–with-config-file-path=/usr/local/php/etc
make&&make install
因为在./configure上面php.ini这个文件我是指向/usr/local/php/etc下面,所以还需要拷贝
cp /etc/php.ini /usr/local/php/etc/
添加环境变量
echo export PATH=$PATH:/usr/local/php/bin >> /etc/profile
source /etc/profile
查看安装版本
/usr/local/php/bin/php -v
PHP 5.6.37 (cli) (built: Mar 29 2019 10:00:17)
Copyright © 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright © 1998-2016 Zend Technologies
再拷贝一下这三个文件
cp /usr/local/php/php.ini-production /usr/local/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
给php-fpm添加权限
chmod +x /etc/init.d/php-fpm
修改配置文件,把刚才的用户跟用户组进行修改
vim /usr/local/php/etc/php-fpm.conf
user = www
group = www
启动php
/etc/init.d/php-fpm status
ss -tunlp | grep 9000
php-mongo
首先安装mongodb
tar -xf mongodb-linux-x86_64-rhel70-3.6.3.tgz
mkdir /usr/local/mongodb
cd /usr/local/mongodb/
cp -r mongodb-linux-x86_64-rhel70-3.6.3/bin/ /usr/local/mongodb/
mkdir etc
mkdir log
mkdir -p data/db
配置文件按下面的添加(如需限定IP访问可另行更改bind_ip):
[root@lingshou1 ~]# cat /usr/local/mongodb/etc/mongodb.conf
dbpath=/usr/local/mongodb/data/db/
logpath=/usr/local/mongodb/log/mongodb.log
logappend=true
fork=true
bind_ip=0.0.0.0
port=27017
设置PATH变量
echo “export PATH=/usr/local/mongodb/bin:$PATH” >> /etc/profile
source /etc/profile
启动服务
mongod -f /usr/local/mongodb/etc/mongodb.conf
netstat -antup | grep mongod
连接服务
mongo
mongo扩展
下载地址
wget http://pecl.php.net/get/mongo-1.6.13.tgz
tar zxvf mongo-1.6.13.tgz
cd mongo-1.6.13
安装这个包才能使用phpize
yum -y install autoconf
使用PHP的phpize在目录下生成configure文件,phpize会调用当前目录里的config.m4生成configure文件:
/usr/local/php/bin/phpize
指向php的php-config路径
./configure --with-php-config=/usr/local/php/bin/php-config
make
make instal
查看有没有生成mongo.so文件
ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
mongo.so
修改php.ini,上面也说了编译时php.ini我是指向了/usr/local/php/etc/,所以在/usr/local/php/etc/php.ini找到
vim /usr/local/php/etc/php.ini
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/”
extension = “mongo.so”
重新启动php
/etc/init.d/php-fpm restart
[root@gpmaster ~]#/usr/local/php/bin/php -m | grep mongo
mongo
php-memcache
先安装memcached
yum -y isntall memcached
systemctl start memcached
systemctl enable memcached
然后是扩展
包的位置
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxvf memcache-2.2.7.tgz
cd memcache-2.2.7
安装这个包才能使用phpize
yum -y install autoconf
使用PHP的phpize在目录下生成configure文件,phpize会调用当前目录里的config.m4生成configure文件:
/usr/local/php/bin/phpize
指向php的php-config路径
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make && make install
修改添加配置文件
vim /usr/local/php/etc/php.ini
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/”
extension = “memcache.so”
重新启动php
/etc/init.d/php-fpm restart
[root@gpmaster ~]#/usr/local/php/bin/php -m | grep memcache
memcache
redis扩展
包的地址
步骤看上面两个案例,一样的
修改添加配置文件
vim /usr/local/php/etc/php.ini
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/”
extension = “redis.so”
重启服务
/etc/init.d/php-fpm restart
/usr/local/php/bin/php -m | grep memcache
暂时先这样吧,目前安装问题没有遇到多少,注意路径文件名就可以了。
各位看官要是有什么建议意见可以在下面留言!