PHP是最常用的服務器端編程語言之一。 許多流行的CMS和框架(例如WordPress,Magento和Laravel)都是用PHP構建的。
在本指南中,我們將討論如何在CentOS 8上安裝PHP 7.2、7.3或7.4。在選擇要安裝的PHP版本之前,請確保您的應用程序支持它。
我們還將向您展示如何將PHP與Nginx和Apache集成。
在CentOS 8上安裝PHP
CentOS 8是用PHP 7.2發(fā)布的。該版本支持大多數(shù)現(xiàn)代PHP應用程序,但從2019年11月起將不再積極維護。較新的PHP版本可以從Remi存儲庫中獲得。
啟用Remi存儲庫
如果您要安裝發(fā)行版穩(wěn)定的PHP版本7.2,請?zhí)^這一步。如果您希望安裝PHP 7.3或7.4,則通過以root用戶或具有sudo特權的用戶運行以下命令來啟用Remi存儲庫:
[linuxidc@localhost www.linuxidc.com]$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
上面的命令還將啟用EPEL存儲庫。
安裝完成后,請運行以下命令以獲取所有可用PHP版本的列表:
[linuxidc@localhost www.linuxidc.com]$ sudo dnf module list php
輸出將顯示所有可用模塊的列表,包括關聯(lián)的AppStream(軟件應用流),版本和安裝配置文件。
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
默認的PHP模塊設置為PHP 7.2。 要安裝較新的PHP版本,請啟用適當?shù)陌姹荆?/p>
PHP 7.3
sudo dnf module reset php
sudo dnf module enable php:remi-7.3
PHP 7.4
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
您現(xiàn)在可以在CentOS服務器上安裝PHP。
安裝PHP
以下命令將安裝PHP和一些最常見的PHP模塊:
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
PHP使用FPM作為依賴安裝,并用作FastCGI服務器。 啟動FPM服務,并使它能夠在啟動時自動啟動:
sudo systemctl enable –now php-fpm
配置PHP以與Apache一起使用
如果您將Apache用作Web服務器,請使用以下命令重新啟動httpd服務,您可以使用:
sudo systemctl restart httpd
配置PHP以與Nginx一起使用
默認情況下,PHP FPM以用戶apache的身份運行。 為避免權限問題,我們將用戶更改為nginx。 為此,請編輯以黃色突出顯示的行:
sudo nano /etc/php-fpm.d/www.conf
…
user = nginx
…
group = nginx
確保/var/lib/php目錄具有正確的所有權:
chown -R root:nginx /var/lib/php
完成后,重新啟動PHP FPM服務:
sudo systemctl restart php-fpm
接下來,編輯Nginx虛擬主機指令,并添加以下位置塊,以便Nginx可以處理PHP文件:
server {
# . . . other code
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
為了使新配置生效,請重新啟動Nginx服務:
sudo systemctl restart nginx
總結
可從默認的CentOS 8存儲庫中安裝PHP 7.2。 如果要安裝最新版本,則需要啟用Remi存儲庫。
如果您有任何疑問或反饋,請隨時發(fā)表評論。