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