<p><br/></p><p>PHP是最常用的服务器端编程语言之一。 许多流行的CMS和框架(例如WordPress,Magento和Laravel)都是用PHP构建的。</p><p>在本指南中,我们将讨论如何在<a href="https://www.linuxidc.com/topicnews.aspx?tid=14" target="_blank" title="CentOS" style="color: rgb(179, 43, 213);">CentOS</a> 8上安装PHP 7.2、7.3或7.4。在选择要安装的PHP版本之前,请确保您的应用程序支持它。</p><p>我们还将向您展示如何将PHP与Nginx和Apache集成。</p><p><img src="https://www.linuxidc.com/upload/2019_11/19111908207910.png" alt="PHP 7.4 将在两周内发布,支持FFI提高性能" width="940"/></p><h3><strong>在CentOS 8上安装PHP</strong></h3><p>CentOS 8是用PHP 7.2发布的。该版本支持大多数现代PHP应用程序,但从2019年11月起将不再积极维护。较新的PHP版本可以从Remi存储库中获得。</p><p><strong>启用Remi存储库</strong></p><p>如果您要安装发行版稳定的PHP版本7.2,请跳过这一步。如果您希望安装PHP 7.3或7.4,则通过以root用户或具有sudo特权的用户运行以下命令来启用Remi存储库:</p><p>[linuxidc@localhost www.linuxidc.com]$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm</p><p><img src="https://www.linuxidc.com/upload/2019_11/19111908518717.png" alt="如何在CentOS 8上安装PHP"/></p><p>上面的命令还将启用EPEL存储库。</p><p>安装完成后,请运行以下命令以获取所有可用PHP版本的列表:</p><p>[linuxidc@localhost www.linuxidc.com]$ sudo dnf module list php</p><p>输出将显示所有可用模块的列表,包括关联的AppStream(软件应用流),版本和安装配置文件。</p><pre style="font-size: 1em; font-family: Consolas, Inconsolata, Courier, monospace; margin-top: 1.2em; margin-bottom: 1.2em; line-height: 1.2em;">CentOS-8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 [e] common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled</pre><p><img src="https://www.linuxidc.com/upload/2019_11/19111908516406.png" alt="如何在CentOS 8上安装PHP"/></p><p>默认的PHP模块设置为PHP 7.2。 要安装较新的PHP版本,请启用适当的版本:</p><p>PHP 7.3</p><p>sudo dnf module reset php<br/>sudo dnf module enable php:remi-7.3</p><p>PHP 7.4</p><p>sudo dnf module reset php<br/>sudo dnf module enable php:remi-7.4</p><p>您现在可以在CentOS服务器上安装PHP。</p><p><strong>安装PHP</strong></p><p>以下命令将安装PHP和一些最常见的PHP模块:</p><p>sudo dnf install php php-opcache php-gd php-curl php-mysqlnd</p><p>PHP使用FPM作为依赖安装,并用作FastCGI服务器。 启动FPM服务,并使它能够在启动时自动启动:</p><p>sudo systemctl enable --now php-fpm</p><p><strong>配置PHP以与Apache一起使用</strong></p><p>如果您将Apache用作Web服务器,请使用以下命令重新启动httpd服务,您可以使用:</p><p>sudo systemctl restart httpd</p><p><strong>配置PHP以与Nginx一起使用</strong></p><p>默认情况下,PHP FPM以用户apache的身份运行。 为避免权限问题,我们将用户更改为nginx。 为此,请编辑以黄色突出显示的行:</p><p>sudo nano /etc/php-fpm.d/www.conf</p><p> ...<br/><span style="background-color: rgb(255, 255, 0);">user = nginx</span><br/>...<br/><span style="background-color: rgb(255, 255, 0);">group = nginx</span></p><p>确保/var/lib/php目录具有正确的所有权:</p><p>chown -R root:nginx /var/lib/php</p><p>完成后,重新启动PHP FPM服务:</p><p>sudo systemctl restart php-fpm</p><p>接下来,编辑Nginx虚拟主机指令,并添加以下位置块,以便Nginx可以处理PHP文件:</p><p>server {</p><p> # . . . other code</p><p><span style="background-color: rgb(255, 255, 0);"> location ~ \.php$ {</span><br/><span style="background-color: rgb(255, 255, 0);"> try_files $uri =404;</span><br/><span style="background-color: rgb(255, 255, 0);"> fastcgi_pass unix:/run/php-fpm/www.sock;</span><br/><span style="background-color: rgb(255, 255, 0);"> fastcgi_index index.php;</span><br/><span style="background-color: rgb(255, 255, 0);"> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</span><br/><span style="background-color: rgb(255, 255, 0);"> include fastcgi_params;</span><br/><span style="background-color: rgb(255, 255, 0);"> }</span><br/>}</p><p> 为了使新配置生效,请重新启动Nginx服务:</p><p>sudo systemctl restart nginx</p><p><strong>总结</strong></p><p>可从默认的CentOS 8存储库中安装PHP 7.2。 如果要安装最新版本,则需要启用Remi存储库。</p><p>如果您有任何疑问或反馈,请随时发表评论。</p><p><span style="color: rgb(255, 0, 0);">Linux公社的RSS地址</span>:<a href="https://www.linuxidc.com/rssFeed.aspx" style="color: rgb(179, 43, 213);">https://www.linuxidc.com/rssFeed.aspx</a></p><p><strong>本文永久更新链接地址</strong>:<a href="https://www.linuxidc.com/Linux/2019-11/161445.htm" style="color: rgb(179, 43, 213);">https://www.linuxidc.com/Linux/2019-11/161445.htm</a></p><p><br/></p>