centos配置 php,CentOS 科学配置 PHP 环境

CentOS 配置环境

CentOS 安装软件的正确方式

CentOS上的PHP版本都十分古老,满足不了一些框架对PHP版本的要求。于是,出现了许多第三方软件库,如EPEL、RPM Fusion、Remi等,这些库提供了新版的PHP。让我们的系统能与时俱进。

推荐用SCL(Software Collections)软件库安装高版本的PHP。SCL属于CentOS官方的软件库,经过充分测试,安装软件时不会替换系统的核心文件,保证了系统的稳定性。

安装SCL

# yum install centos-release-scl-rh

然后就能在yum中搜到新版的PHP了:

# yum search php

….

php54-runtime.x86_64

php55-runtime.x86_64

rh-php56-runtime.x86_64

rh-php70-runtime.x86_64

….

rh- 前缀是RedHat的意思,告诉你这是官方提供的PHP而不是第三方库提供的。作者猜测这个前缀规范是2015年左右制定的,PHP5.4 & 5.5是在这之前发布的,为了保证你的程序的兼容性(比如你的某些程序里已经写了yum install php55,加个前缀程序就挂了),就没带上rh- 前缀。

在 RHEL,启用 RHSCL 仓库给你的系统

sudo yum-config-manager --enable rhel-server-rhscl-7-rpms

安装php72

# yum install rh-php72

安装完成之后PHP会安装在 /opt/rh 目录下

这时候运行 php 命令系统会提示 command not found,这是因为 SCL 的风格就是把软件对系统的影响减少到最小,甚至完成安装PHP,PHP命令都不会被添加到 $PATH 变量中,所以你没法直接执行软件中的命令。需要通过 scl enable 命令显式执行

先看看 SCL 安装了哪些软件:

# scl -l

rh-php72

可以看到安装完成的红帽php72(rh-php72),先启用并执行命令:

scl enable rh-php72 "php -v"

PHP 7.2.10 (cli) (built: Nov 16 2018 15:24:33) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

命令成功执行了,但是要每一天命令都这样去 scl enable 一下实在是太麻烦。这时只需要把命令绑定至 bash 即可

# scl enable rh-php72 bash

# php -v

PHP 7.2.10 (cli) (built: Nov 16 2018 15:24:33) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

# php -m

[PHP Modules]

bz2

calendar

Core

ctype

curl

date

dom

exif

fileinfo

filter

ftp

gettext

hash

iconv

json

libxml

openssl

….

[Zend Modules]

接下来应该保证普通应用能正常使用,接下来的几个命令可能用得上:

# service rh-php72-php-fpm start

# php my-app.php

# sudo yum install rh-php72-php-devel

# sudo yum install libxml2-devel

# sudo pear install Cache_Lite

# sudo pecl install xmldiff

查看 PHP 可以添加的模块

sudo yum list rh-php72\*

建议安装模块

# sudo yum install rh-php72-php-devel

# sudo yum install rh-php72-php-mbstring

# sudo yum install rh-php72-php-mysqlnd (包含了PDO)

安装 MySQL

采用上面的方法安装MySQL

可以搜索库里有哪些版本的 mysql

# yum search mysql

这里安装的是MySQL5.7

# sudo yum install rh-mysql57

将 mysql 命令绑定至 bash

# scl enable rh-mysql57 bash

启动 MySQL 服务

# service rh-mysql56-mysqld start

现在你能登入了,但是你会发现登入不进去,因为你没有用户和密码,如果你遇到这种情况,请参照另外一篇博文

安装 Apache

### 安装

# sudo yum install httpd24

### 命令行启用

# scl enable httpd24 bash

接下来应该保证普通应用能正常使用,接下来的几个命令可能用得上:

# service httpd24-httpd start

# httpd -h

查看 Apache 可以添加的模块

# sudo yum list httpd24\*

安装 Nginx

搜索库里有的nginx版本,下载想要的版本

# yum search nginx

安装 nginx 1.14 版

# sudo yum install rh-nginx114

绑定至 bash

# scl enable rh-nginx114 bash

接下来应该保证普通应用能正常使用,接下来的几个命令可能用得上:

# nginx -v

# sudo systemctl start rh-nginx114-nginx

查看 Nginx可以添加的模块

# sudo yum list rh-nginx114\*

安装 Redis

安装

# sudo yum install rh-redis32

绑定至 bash

# scl enable rh-redis32 bash

启用服务

# sudo service rh-redis32-redis start

本作品采用《CC 协议》,转载必须注明作者和本文链接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值