CentOS 7预安装PHP版本5.4,该版本已正式结束,并且不再受支持。你可以使用PHP 7,使您的应用程序将加载得更快,并消耗更少的系统资源。
在本教程中,我们将说明如何在CentOS 7安装PHP7.3。我们还将向您展示如何将PHP与Nginx集成。
此外,在安装指定的PHP 7.x版本之前,请确保您的应用程序支持该版本。在开始本教程之前,请确保您以root或者具有sudo权限的用户登录到服务器。
最佳实践是以sudo用户而不是root用户身份运行管理命令。如果您的CentOS没有sudo用户,则可以按照教程如何在CentOS创建sudo用户,创建新的sudo用户。
在CentOS 7有几个不同的软件仓库提供PHP 7.x版本。我们将使用Remi提供的仓库,其中提供包含较新版本的PHP。
Remi仓库依赖EPEL存储库。因此在启用Remi仓库之前需要先安装启用EPEL软件仓库和Remi存储库。
在启用EPEL和Remi仓库时,Yum可能会提示您导入存储库GPG密钥。输入y
,然后按Enter
。
在以下章节中,我们将介绍如何通过Remi仓库安装PHP7.x。如果您已经在CentOS 7安装PHP 5.4,yum
将更新PHP的版本。
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
PHP 7.3是PHP的最新稳定版本。包括WordPress ,Drupal,Joomla和Laravel等大多数现代PHP框架和应用程序都完全支持PHP 7.3。
要在在CentOS 7安装PHP 7.3。首先启用PHP 7.3 Remi仓库,运行命令sudo yum-config-manager --enable remi-php73
。
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
命令将会安装PHP 7.3和一些常用的php扩展。
PHP扩展是已编译的动态库,它扩展了PHP的核心功能。PHP扩展程序作为软件包提供,可以通过yum
安装PHP扩展。
按照惯例PHP扩展的通常是以php开头,接着是版本号,然后是-
和扩展名称。这是通用的格式php-[extname]
。
并不是所有php扩展都可以通过yum命令进行安装,yum仓库仅提供常用PHP扩展,某些扩展可能需要自己手动编译。
例如,要安装MySQL和GD扩展,您可以运行命令sudo yum install php-mysql php-gd
。
在安装PHP扩展之后,请不要忘记重启Apache或PHP-FPM服务,否则新的PHP扩展不会加载到PHP-FPM。运行命令sudo systemctl restart php-fpm
。
安装完成后运行php -v
命令打印PHP版本,以验证PHP安装。PHP-FPM服务将会作为Systemd服务单元在后台运行。
因此你需要运行命令sudo systemctl status php-fpm.service
启动PHP-FPM,如果你需要查看PHP-FPM的状态可以运行命令sudo systemctl status php-fpm.service
。
sudo yum-config-manager --enable remi-php73
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd php-fpm
php -v
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
sudo systemctl status php-fpm.service
sudo systemctl restart php-fpm
PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
安装Nginx
Nginx PHP
至此你已经安装PHP和Nginx。现在使用你的喜欢的文本编辑器创建Nginx虚拟主机配置文件/etc/nginx/conf.d/example.conf目录中。
在本教程中我们将使用vim编辑器打开文件/etc/nginx/conf.d/example.conf
。
复制粘帖nginx虚拟主机配置到/etc/nginx/conf.d/example.conf
文件中, 使Nginx可以运行PHP文件。
不要忘记重新启动Nginx服务,运行命令sudo systemctl restart nginx
使nginx配置文件生效。
为了能够正确解释域名example.com
。因此我们还需要映射example.com
到本地回环地址127.0.0.1
。
运行命令echo "127.0.0.1 example.com" | sudo tee -a /etc/hosts
。
sudo vim /etc/nginx/conf.d/example.conf
sudo systemctl restart nginx
echo "127.0.0.1 example.com" | sudo tee -a /etc/hosts
要测试是否已正确配置Web服务器运行PHP,请在/var/www/html
目录中创建一个名为info.php
的新文件。然后保存文件并退出vim。
保存文件后,我们还需要使用chmod命令让info.php
具有可执行权限。运行命令sudo chmod +x /var/www/html/info.php
。
Nginx必须对站点的根目录有读取权限,对于可执行文件,例如php。nginx必须对其有可执行权限,否则nginx返回500内部服务器的错误。
sudo yum install php-mysql php-gd -y
sudo systemctl restart php-fpm.service
sudo vim /var/www/html/info.php
sudo chmod +x /var/www/html/info.php
打开你的浏览器,然后访问http://example.com/info.php
。您将看到您的PHP配置的信息。
结论
您已经了解了如何在CentOS服务器上安装PHP 7以及如何配置Web服务器以能够处理PHP文件。如果您有任何疑问或反馈,请随时发表评论。