CentOS7安裝PHP8.0+Apache2+MySQL8教學

發佈於 2024-03-21  1,389 次閱讀


安裝前須知

  • 此教學僅適用於CentOS7,其餘系統安裝方式、檔案路徑會有所不同,僅供參考
  • 編寫此教學文檔時使用的PHP版本為8.0,Mysql版本為mysql80-community-release-el7-3,可根據安裝時的最新版本來修正文檔內容

安裝PHP8.0

#安裝源
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
#禁用所有PHP版本
sudo yum-config-manager --disable 'remi-php*'

#開啟PHP8.0
sudo yum-config-manager --enable remi-php80

#此步驟為安裝PHP套件,格式為yum -y install php-XXX
sudo yum -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache}

此時使用指令php --version查看PHP版本正常可得到如下結果:

$ php --version
PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.0, Copyright (c), by Zend Technologies
至此PHP8.0安裝完畢

Apache2安裝(httpd)

安裝PHP8.0時會同時安裝Apache2(httpd),使用指令systemctl status httpd可看到http服務為關閉狀態
開啟Apache(httpd)服務

#開啟httpd
systemctl start httpd
#開機自動啟動httpd
systemctl enable httpd

若沒有報錯,就成功啟動httpd服務了
使用systemctl status httpd指令應該會看到如下結果:

[root@localhost ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-12-14 22:20:45 CST; 25min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 22504 (httpd)
   Status: "Total requests: 11; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─22504 /usr/sbin/httpd -DFOREGROUND
           ├─22505 /usr/sbin/httpd -DFOREGROUND
           ├─22506 /usr/sbin/httpd -DFOREGROUND
           ├─22507 /usr/sbin/httpd -DFOREGROUND
           ├─22508 /usr/sbin/httpd -DFOREGROUND
           ├─22509 /usr/sbin/httpd -DFOREGROUND
           ├─22570 /usr/sbin/httpd -DFOREGROUND
           ├─22571 /usr/sbin/httpd -DFOREGROUND
           └─22572 /usr/sbin/httpd -DFOREGROUND

Dec 14 22:20:45 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Dec 14 22:20:45 localhost.localdomain httpd[22504]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhos...s message
Dec 14 22:20:45 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

MySQL 8安裝教學

清理舊版MySQL

rpm -qa | grep mysql
#可能的顯示情況如下
#mysql-community-libs-8.0.12-1.el7.x86_64
#mysql80-community-release-el7-1.noarch
#mysql-community-client-8.0.12-1.el7.x86_64
#mysql-community-common-8.0.12-1.el7.x86_64
#mysql-community-server-8.0.12-1.el7.x86_64
#通過下面的命令進行刪除
yum remove mysql-xxx-xxx-

刪除CentOS7預設的資料庫MariaDB

rpm -qa | grep mariadb
#查詢mariadb
#可能出現的結果mariadb-libs-5.5.56-2.el7.x86_64
#將查找出來的結果進行強制刪除
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

開啟MySQL8下載網頁
https://dev.mysql.com/downloads/repo/yum/
點選Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package右方的Download按鈕
滑鼠在No thanks, just start my download.藍字連結上點選右鍵複製連結

#切換路徑到 /usr/src
cd /usr/src

#下載MySQL8(連結請使用前面所複製的連結)
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

#安裝yum源(包名為連結名稱)
yum localinstall mysql80-community-release-el7-3.noarch.rpm

#更新yum源
yum clean all
yum makecache

#開始安裝MySQL
yum install mysql-community-server
#安裝完畢後沒報錯即成功安裝

#啟動MySQL
systemctl start mysqld
systemctl enable mysqld
至此MySQL8安裝完畢

參考資料

PHP8.0 安裝
https://computingforgeeks.com/how-to-install-php-8-on-centos-linux/

MySQL8 安裝
https://www.itread01.com/article/1535250863.html


莫札特曾經說過大膽地踏上旅途吧
我不知道路途的前方究竟有什麼
但是
我們還是邁出了步伐
我們仍在旅途之中