场景:
以前基本都是源码编译安装php环境的,现在如果有需要一般就直接docker安装。最近发现小伙伴用yum安装的php7.2,加各种扩展时超级方便,一条简单的yum install就搞定了,所以准备做个笔记了解一下。
几种安装方式
- 源码编译(包括傻瓜包式安装)
在安装过程中可能要解决很多的依赖问题,才能装好一个软件。这种方式坑比较多小白要自重(不单只安装php)。但好处也有的,包括自定义安装目录,安装的模块等。 - yum
自动化帮你安装,你不用管软件的依赖关系,在yum安装过程是帮你把软件的全部依赖关系帮你傻瓜式的解决了。而且现在Centos7的服务启动已经换成systemctl命令来控制了。通过yum安装会帮你自动注册服务,你可以通过systemctl start xxx.service启动服务,方便快捷。但是缺点是yum安装你没办法干预,安装的目录也是分散的。你可能要执行whereis或者find命令去找yum安装的路径。有时候yum安装的软件版本比较低,你不得不去找其他的yum源,或者rpm包。 - docker、VirtualBox
是两种不同方式但原理差不多,直接用别人或自己已经打包好的整个系统环境,有兴趣可以自己去摸索一下。Windows下我用VirtualBox,linux下用的是docker。
这里我以yum安装介绍了
1、如果之前已经安装我们先卸载一下
yum -y remove php*
2、更新yum源,一般系统自带的都在5.6及以下
#centos7
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
#centos6
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
#centos8
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
3、yum 安装php72w和各种拓展,选自己需要的即可
yum list | grep php72 #列出所有可安裝的软件清单命令要安装5.6/8的改成php56/php8
yum search php72 #查找软件包命令要安装5.6/8的改成php56/php8
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
xml、pdo、mysqlnd 、gd这些应该都懂吧
4、安装完成以后,启动服务
systemctl enable php-fpm.service
systemctl start php-fpm.service
查看一下php版本:
php -v
yum常用命令
-
列出所有可更新的软件清单命令:yum check-update
-
更新所有软件命令:yum update
-
仅安装指定的软件命令:yum install <package_name>
-
仅更新指定的软件命令:yum update <package_name>
-
列出所有可安裝的软件清单命令:yum list
-
删除软件包命令:yum remove <package_name>
-
查找软件包命令:yum search
-
清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers