天天看點

centos8離線安裝Apache_如何在CentOS8或RHEL8上安裝最新版PHP

請關注本頭條号,每天堅持更新原創幹貨技術文章。

如需學習視訊,請在微信搜尋公衆号“智傳網優”直接開始自助視訊學習

1. 前言

本文主要講解如何在CentOS8或RHEL8上安裝PHP。如何在CentOS8或者RHEL8系統上安裝PHP 7.2 ?如何在CentOS8/RHEL8上安裝PHP 7.1 。Red Hat Enterprise Linux 8是用PHP 7.2釋出的,而不是用RHEL 7釋出的PHP 5.4。

centos8離線安裝Apache_如何在CentOS8或RHEL8上安裝最新版PHP

如何在CentOS8或RHEL8上安裝PHP最新版

PHP 7.2中一些最顯著的變化是:

  • 預設使用FastCGI程序管理器(FPM)。這對于使用線程化http是安全的
  • 當更改max_execution_timeconfiguration變量時,它的值應該與httpd ProxyTimeout設定相比對。
  • PHP腳本警告和錯誤不再被記錄到/var/log/httpd/error.log中,它們現在被記錄到/var/log/ php-fpm/www-error.log檔案中。
  • php-flag和php_value變量/etc/php-fpm.d/*.conf。池中應設定配置檔案它們不再在httpd配置檔案中配置。
  • 運作PHP腳本的使用者現在在FPM池配置檔案中配置/etc/php-fpm/d/www.conf。預設使用者是apache。
  • 無論何時安裝新擴充名或更改PHP配置檔案,都需要重新啟動php-fpm服務。

2. 從PHP 7.2中移除的擴充特性

下面是PHP 7.2中已經棄用的擴充特性

  • memcache
  • zip
  • mysql(注意mysqli和pdo_mysql擴充仍然可用,由php-mysqlnd包提供)
  • aspell

PHP 7.2和PHP 7.1都應該在AppStream存儲庫中可用:

sudo yum repolist
           

您可以通過在終端中運作以下指令來确認啟用和預設的PHP子產品。

sudo yum module list | grep php
           

php 7.1 devel, minimal, default [d] PHP scripting language php 7.2 [d][e] devel, minimal, default [d] [i] PHP scripting language

3. 在RHEL8或CentOS8上安裝PHP 7.2

centos8離線安裝Apache_如何在CentOS8或RHEL8上安裝最新版PHP

在RHEL8或CentOS8上安裝PHP 7.2

運作以下指令在RHEL8或CentOS8上安裝PHP 7.2

sudo yum module install php:7.2
           

上面的指令将安裝許多PHP擴充,以及不同內建所需的擴充。

安裝完成後,使用以下指令檢查您的PHP版本:

php -v
           

PHP 7.2.11 (cli) (built: Oct 9 2018 15:09:36) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

如上面的輸出所示,RHEL8系統上有PHP 7.2.11。

4. 啟動和配置php-fpm服務

現在激活php-fpm服務

sudo systemctl enable --now php-fpm
           

檢查服務狀态:

systemctl status php-fpm
           

● php-fpm.service - The PHP FastCGI Process Manager

Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)

Active: active (running) since Mon 2019-03-11 00:23:55 EAT; 3min 16s ago

Main PID: 32105 (php-fpm)

Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"

Tasks: 6 (limit: 11510)

Memory: 24.1M

CGroup: /system.slice/php-fpm.service

├─32105 php-fpm: master process (/etc/php-fpm.conf)

├─32106 php-fpm: pool www

├─32107 php-fpm: pool www

├─32108 php-fpm: pool www

├─32109 php-fpm: pool www

└─32110 php-fpm: pool www

Mar 11 00:23:55 rhel8.local systemd[1]: Starting The PHP FastCGI Process Manager…

Mar 11 00:23:55 rhel8.local systemd[1]: Started The PHP FastCGI Process Manager.

注意,在預設情況下,PHP FPM服務監聽Unix套接字/run/php-fpm/www.sock

5. 安裝 PHP 7.2 擴充

文法:

sudo yum install php-
           

下面是安裝标準PHP擴充的例子。

sudo yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json
           

6. 如何在CentOS8或者RHEL8上安裝PHP 7.1

centos8離線安裝Apache_如何在CentOS8或RHEL8上安裝最新版PHP

如何在CentOS8或者RHEL8上安裝PHP 7.1

如果希望安裝PHP 7.1,也可以在AppStream存儲庫中找到它。使用以下指令安裝PHP 7.1:

sudo yum module install php:7.1
           

驗證PHP版本:

php -v
           

PHP 7.1.20 (cli) (built: Jul 19 2018 06:17:27) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

7. 在CentOS8或者RHEL8系統中切換PHP版本

您可以使用以下指令輕松切換回PHP 7.2:

sudo yum module install php:7.2
           

8. 在CentOS8或RHEL8系統上配置防火牆

為了使http服務正常運作,需要在在CentOS8或RHEL8上配置防火牆,允許http流量。

sudo firewall-cmd --add-service=http --permanentsudo firewall-cmd --reload
           

9. 在CentOS8或者RHEL8系統中測試PHP是否安裝成功

最後,讓我們測試一下,以确認PHP是否按預期工作。安裝Apache HTTP伺服器使用:

sudo yum module install httpd
           

設定httpd服務自啟動并立即運作。

sudo systemctl enable --now httpd
           

在CentOS8或RHEL8系統上建立PHP測試頁面

echo '<?php phpinfo();' >/var/www/html/info.php
           

在CentOS8或RHEL8系統上打開PHP相關頁面:

centos8離線安裝Apache_如何在CentOS8或RHEL8上安裝最新版PHP

在CentOS8或RHEL8系統上打開PHP相關頁面

10. 總結

通過本文,您應該學會了如何在CentOS8或者RHEL8上安裝和配置PHP了吧?