CentOS安装php7
-
前言
-
先决条件
-
启用Remi存储库
-
对于一些文章所说的依赖包
-
查看已安装的软件
* 更好的办法Development Tools- 启用EPEL和Remi存储库
-
在CentOS 7上安装PHP 7.3
-
首先启用PHP 7.3 Remi存储库
- 安装PHP 7.3和一些最常见的PHP模块
- 验证PHP安装结果
-
在CentOS 7上安装PHP 7.2
-
启用PHP 7.2 Remi存储库
- 安装PHP 7.2和一些最常见的PHP模块
- 验证PHP安装
-
在CentOS 7上安装PHP 7.1
-
启用PHP 7.1存储库
- 安装PHP 7.1和一些最常见的PHP模块
- 验证安装
-
配置PHP 7.x以与Apache一起使用
-
配置PHP 7.x以与Nginx一起使用
-
要安装PHP FPM软件包
- 确保/var/lib/php目录具有正确的所有权
- 启动PHP FPM服务
- 配置Nginx
-
结论
前言
其实CentOS 7就附带了PHP版本5.4,但是该版本已经正式退出EOL一段时间了,不再受支持。
通过使用PHP 7,应用程序将加载得更快,并消耗更少的系统资源。
在本教程中,我将说明如何安装或升级到PHP 7.x版本。同时展示如何将PHP与Nginx和Apache集成。
同样,在安装特定的PHP 7.x版本之前,请确保您的应用程序支持该版本
先决条件
首先需要一个sudo特权的用户帐户或root用户登录到服务器,最佳实践是以sudo用户而不是root用户身份运行管理命令(有粉丝私信我说之前安装程序使用root是在误人子弟,因此我创建了一个叫linkai的sudo特权用户账号,如果您的系统上没有sudo用户,则可以按照以下说明创建一个:https://blog.csdn.net/JAVA_php_Jack/article/details/103951183
启用Remi存储库
PHP 7.x软件包可在几个不同的存储库中使用。我们将使用Remi存储库,该存储库提供各种软件包(包括PHP)的较新版本。
Remi存储库取决于EPEL存储库。
- 什么是EPEL:
EPEL(Extra Packages for Enterprise Linux)是Fedora团队的一个开源的,免费的,基于社区的存储库项目,它为Linux发行版提供100%高质量的附加软件包,包括RHEL(Red Hat Enterprise Linux),CentOS和科学Linux。
EPEL项目不是RHEL / CentOS的一部分,但它通过提供许多开放源代码包(如网络工具,sysadmin工具,编程,监视等)而设计用于主要的Linux发行版。大多数EPEL软件包都由Fedora回购维护。
- 为什么我们使用EPEL存储库?
提供大量的开源软件包以通过Yum和DNF安装。
Epel回购是100%开放源代码,可以免费使用。
它不提供任何核心重复软件包,也没有兼容性问题。
所有的EPEL软件包都由Fedora仓库维护。
对于一些文章所说的依赖包
有一些文章说在这之前需要下载依赖包:
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
查看已安装的软件
但是有一些依赖包可能是你之前下载过的,或者自带的,检查是否下载过的方式:yum方法安装的,可以查看yum列表,如果是查找指定包,命令后加 | grep “软件名或者包名”,如:
1
2
3
4
5
6 1#yum 已经安装的软件
2sudo yum list installed
3 #yum 查询指定软件是否安装
4sudo yum list installed | grep wget
5
6
更好的办法Development Tools
还有一个更好的办法,在你刚拥有centOS服务器后,sudo yum groupinstall 'Development Tools',它能替你安装CentOS的应用程序,包括
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 1bison
2byacc
3cscope
4ctags
5cvs
6diffstat
7doxygen
8flex
9gcc
10gcc-c++
11gcc-gfortran
12gettext
13git
14indent
15intltool
16libtool
17patch
18patchutils
19rcs
20redhat-rpm-config
21rpm-build
22subversion
23swig
24systemtap
25
26
这些工具还将安装一些依赖项。
在安装开发工具之前,请运行sudo yum clean all命令。这将清除yum缓存并强制其重新读取所有更改的配置文件。
然后是sudo yum groupinstall "Development tools"命令。这将搜索yum存储库,并从最近的存储库中安装工具。
然后需要确认是否继续安装。
输入y继续。(可以在yum后面加上空格和-y就可以不用输入y继续了)
将安装多少个软件包取决于您的模板。一个LAMP模板将需要比非LAMP模板包少。
安装所有软件包需要3到5分钟。安装完所有内容后,看到“ 完成!”消息,并返回到命令提示符:
上面还有列出本次所完成下载或更新的开发工具。这样子在以后安装软件就不用怕没有相应的依赖包了。
启用EPEL和Remi存储库
运行以下命令以启用EPEL和Remi存储库(可以在yum后面加上空格和-y就可以不用输入y继续了):
1
2
3
4 1sudo yum install epel-release yum-utils
2sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
3
4
在启用EPEL和Remi存储库之后,Yum可能会提示您导入存储库GPG密钥。输入y并回车。
在以下各节中,我们将介绍如何通过启用适当的Remi存储库来安装PHP7.x。如果您已经在系统上安装了PHP 5.4,yum将更新PHP软件包。
在CentOS 7上安装PHP 7.3
PHP 7.3是PHP的最新稳定版本。包括WordPress,Drupal,Joomla和Laravel 在内的大多数现代PHP框架和应用程序都完全支持PHP 7.3。
执行以下步骤在CentOS 7上安装PHP 7.3。
首先启用PHP 7.3 Remi存储库
1
2
3 1sudo yum-config-manager --enable remi-php73
2
3
安装PHP 7.3和一些最常见的PHP模块
(可以在yum后面加上空格和-y就可以不用输入y继续了)
1
2
3 1sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
2
3
验证PHP安装结果
通过键入以下命令来验证PHP安装,该命令将打印PHP版本:
1
2
3 1php -v
2
3
则说明安装PHP成功。
在CentOS 7上安装PHP 7.2
仅当要安装与PHP 7.2不兼容的应用程序(例如Magento 2)时,才使用PHP 7.2。
以下步骤描述了如何安装PHP 7.2 CentOS 7。
启用PHP 7.2 Remi存储库
1
2
3 1sudo yum-config-manager --enable remi-php72
2
3
安装PHP 7.2和一些最常见的PHP模块
1
2
3 1sudo yum install -y php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
2
3
验证PHP安装
1
2
3 1php -v
2
3
在CentOS 7上安装PHP 7.1
请按照以下步骤安装PHP 7.1。
启用PHP 7.1存储库
1
2
3 1sudo yum-config-manager --enable remi-php71
2
3
安装PHP 7.1和一些最常见的PHP模块
1
2
3 1sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
2
3
验证安装
请运行以下命令,该命令将打印PHP版本:
1
2
3 1php -v
2
3
配置PHP 7.x以与Apache一起使用
如果您将Apache用作Web服务器,则只需使用以下命令重新启动Apache服务,就可以了:
1
2
3 1sudo systemctl restart httpd
2
3
配置PHP 7.x以与Nginx一起使用
与Apache不同,Nginx不具有处理PHP文件的内置支持,因此我们需要安装一个单独的应用程序(如PHP FPM)来处理PHP文件。
要安装PHP FPM软件包
1
2
3 1sudo yum install php-fpm
2
3
默认情况下,PHP FPM将以用户apache的身份在端口9000上运行。我们将用户更改为nginx,然后从TCP套接字切换到Unix套接字。 为此,请编辑以黄色突出显示的行
sudo vim
/etc/php-fpm.d/www.conf
1
2
3
4
5
6
7
8
9
10 1user = nginx
2...
3group = nginx
4...
5listen = /run/php-fpm/www.sock
6...
7listen.owner = nginx
8listen.group = nginx
9
10
确保/var/lib/php目录具有正确的所有权
1
2
3 1sudo chown -R root:nginx /var/lib/php
2
3
启动PHP FPM服务
进行更改后,启用并启动PHP FPM服务:
1
2
3
4 1sudo systemctl enable php-fpm
2sudo systemctl start php-fpm
3
4
配置Nginx
接下来,编辑Nginx虚拟主机指令并添加以下位置块,以便Nginx可以处理PHP文件(所有Nginx配置文件都位于/etc/nginx/目录中。Nginx的主要配置文件是/etc/nginx/nginx.conf。):
1
2
3
4
5
6
7
8
9
10
11
12
13 1server {
2 . . .
3 location ~ \.php$ {
4 try_files $uri =404;
5 fastcgi_pass unix:/run/php-fpm/www.sock;
6 fastcgi_index index.php;
7 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
8 include fastcgi_params;
9 }
10}
11##
12
13
启动Nginx服务
为了使新配置生效,请重新启动Nginx服务:
1
2
3 1sudo systemctl restart nginx
2
3
结论
如果您有任何疑问或反馈,欢迎发表评论并赐教,谢谢,有用的话请点个赞哦。