系统版本:
CentOS Linux release 7.4.1708 (Core)
PHP5.6下载地址:
wget http://am1.php.net/distributions/php-5.6.37.tar.gz
需要装好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 mysl mysql-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=/usr/local/mysql/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 --with-gettext
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扩展
包的地址
wget http://pecl.php.net/get/redis-3.1.1.tgz
步骤看上面两个案例,一样的
修改添加配置文件
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
暂时先这样吧,目前安装问题没有遇到多少,注意路径文件名就可以了。
各位看官要是有什么建议意见可以在下面留言!
记一个php5.3安装连接Oracle的扩展
https://www.cnblogs.com/dinglinyong/p/9225499.html
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44466805/article/details/88892322