首页 > 数据库 >PHP5.6的安装及redis、memcache、mongo扩展

PHP5.6的安装及redis、memcache、mongo扩展

时间:2024-01-31 16:33:39浏览次数:31  
标签:fpm mongo -- redis etc memcache usr php local

系统版本:

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

标签:fpm,mongo,--,redis,etc,memcache,usr,php,local
From: https://www.cnblogs.com/zdalongren/p/17999540

相关文章

  • Redis未授权访问漏洞
    Redis简介redis是完全免费开源,一个灵活的高性能key-value数据结构存储,可以用来作为数据库、缓存和消息队列。Redis应用场景主要有两个应用场景:存储、缓存需要的场景需要高度读/写的场景使用redis快速读/写Redis结构redis主要由两个程序组成:redis客户端:redis-cliredis......
  • Windows下安装Redis并配置自启服务
    推荐(免费):Redis使用教程1,下载地址:https://github.com/MicrosoftArchive/redis/releases2,解压缩后在文件夹中创建两个文件夹dbcache、logs。3,双击redis-server.exe,启动redis,如下图片表示启动成功。4,上面的启动一般用于检测redis是否可以成功启动,如果成功,接下来,要将redis注册为......
  • Star 4.2k,这是我用过最舒服的跨平台Redis桌面客户端
    项目介绍TinyRDM一个现代化轻量级的跨平台Redis桌面客户端,支持Mac、Windows和Linux软件截图运行效果版本展示配置连接项目亮点极致轻量极小包体,随处安装随处使用友好外观体验提供外观深色/浅色外观,简单易用的可视化操作体验跨桌面平台支持Mac/Windows/......
  • 内网离线部署redis7.2
    环境说明镜像系统:CentOS-7-x86_64-Everything-1908.iso网络:内网地址:192.168.24.20无其他网卡内存:8GBCPU:1颗4核硬盘:64GB安装方式:带GUI的服务器主机名:data0另外,内网环境中有一个harbor服务主机,上面有nfs服务、ntpd服务、harbor镜像仓库,此主机可以连接公网,我使用它来准备必......
  • Redis 基础数据结构
    string(字符串)字符串string是Redis最简单的数据结构。Redis所有的数据结构都是以唯一的key字符串作为名称,然后通过这个唯一key值来获取相应的value数据。不同类型的数据结构的差异就在于value的结构不一样。字符串结构使用非常广泛,一个常见的用途就是缓存用户信息......
  • redis取数据慢的原因有哪些
    Redis取数据慢的原因可能有以下几个:1)网络延迟:Redis是一个基于网络的内存数据库,如果网络延迟高,会导致数据取得慢。2)数据量过大:如果Redis中存储了大量的数据,每次取数据时需要遍历整个数据集,会导致取数据的速度变慢。3)频繁的数据持久化:如果Redis开启了持久化功能,频繁地将数据写入......
  • redis负载高的原因有哪些
    Redis负载高的原因可能有以下几个:1)数据量过大:如果Redis中存储的数据量非常大,超过了Redis服务器的内存容量,会导致Redis负载过高。2)访问量过大:如果Redis服务器面临大量的并发请求,超过了服务器处理能力,会导致负载过高。3)慢查询:如果Redis中存在慢查询语句,会导致某些操作的执行时间......
  • redis返回nil的情况有哪些
    Redis是一个开源、内存中的数据结构存储器,用作数据库、缓存和消息中间件中。由于其明了的语法和功能的极其丰富,它是一种应用非常广泛的服务器,但即使Redis是一款十分受欢迎的数据库,也可能由于某些原因而导致Redis返回nil。Redis返回nil的原因可能有以下几种:1)Redis实例已离线:......
  • windows下的redis未授权访问修复方法
    在windows服务中查看redis服务的启动参数,先停止此服务修改redis.windows.conf这个文件1.为Redis添加密码验证(重启redis才能生效)添加或修改以下行 requirepassmypassword其中yourpassword是你设置的强密码。 2.禁止外网访问Redis(重启redis才能生效)  修改redi......
  • redis模块——python操作redis
    介绍使用python操作redis库中的缓存,常见操作,测试后清除测试数据缓存,测试前清理缓存保证不被之前的测试数据影响到测试准确性使用安装pipinstallredis导入importredis模糊搜索查找keymsp_fc_rule=self.msp_redis.keys('msp-cache-frequency-limit-info:*')循环遍历k......