04 php+MySQL

(2020/11/11)

內容完全取自 https://www.opencli.com/linux/redhat-centos-8-setup-apache-mariadb-php

一、安裝 MariaDB

  • 從 RHEL / CentOS 7 開始已經不會內置 MySQL, 改為使用 MariaDB, MariaDB 使用上與 MySQL 相同, 舊有的 MySQL 資料庫也可以直接升級使用

  • # yum install mariadb-server mariadb (安裝 MariaDB)

  • # systemctl start mariadb (啟動)

  • # systemctl enable mariadb (設定開機自動執行 MariaDB)

  • # mysql_secure_installation (設定 MariaDB 的安全設定)

    • 設定 root 帳號密碼(新上我愛你)

    • 是否移除匿名帳號

    • 是否允許 root 帳號遠端登入

    • 是否移除 test 資料庫

  • # mysql -u root -p (登入測試)

二、安裝 php

  • 安裝 PHP 外, 還會安裝一些常用的 PHP 套件 ,如下

  • # yum install php php-fpm php-mysqlnd php-opcache php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

  • 跟以往不同, 在 RHEL 8 / CentOS 8 的 Apache, 預設不會使用 mod_php 執行 PHP, 而會預設使用 PHP-FPM 執行 PHP, 所以需要啟動 PHP-FPM:

  • # systemctl start php-fpm (啟動)

  • # systemctl enable php-fpm (設定開機自動執行 php)

  • # systemctl restart httpd (安裝及設定好 PHP 後需要重新啟動 Apache 才會生效)

  • 測試 PHP

  • # vi /var/www/html/info.php

    • <?php

    • phpinfo();

    • ?>

      • 成功

三、安裝 phpMyAdmin

  • 參考http://n.sfs.tw/content/index/14380

  • 安裝wget

    • [root@shsps html]# dnf install wget (新版的好像都改用 dnf install 來取代 yum install )

  • 安裝Unzip

    • [root@shsps html]# dnf install unzip

  • 下載phpmyadmin tarball

    • # cd /var/www/html

    • # wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip

  • 解壓

    • # unzip phpMyAdmin-5.0.1-all-languages.zip

  • 更名

    • # mv phpMyAdmin-5.0.1-all-languages phpMyAdmin

  • 修改 phpMyAdmin 設定檔

  • 重啟 apache

    • # systemctl restart httpd

  • 開啟網頁 http://163.16.244.x/phpMyAdmin

    • 出現500的錯誤

    • 解決之道

      • 到網路找資料有人說可能少安裝了一些套件,如:

        • php-mbstring

        • php-gettext

        • php-json

      • 發現原本已裝有php-mbstring

      • 再裝php-gettext

        • # yum install php-gettext

        • 仍然不行

      • 再裝php-json

        • # yum install php-json

        • 就成功顯示了

\