之前因為公司網站被植入惡意程式的關係,建置了一個新的網站平臺,並且捨棄 appserv 這類快速建置但僅適用於開發環境的套件,改以手動建置 Apache、MariaDB 以及 PHP,之後並以每半年更新一次的頻率做維護,本篇即為記錄更新 Apache、MariaDB 以及 PHP 這三個程式的步驟。
首先停止 Apache、mysql (MariaDB) 服務。
【更新 PHP – Non Thread Safe】
- 到 官方頁面 下載 Non Thread Safe 壓縮檔。
- 解壓縮,複製目錄到想要的位置。
- 修改 php.ini-production 為 php.ini,用 WinMerge 比對舊版 php.ini。
- 如果 php 目錄名稱與原本名稱不同,開啟 Apache 的httpd.conf ,修改下面內容:
FcgidInitialEnv PHPRC "D:/Web/php-7.4.6" # 讓 FastCGI 知道 php.ini 所在目錄。 FcgidWrapper "D:/Web/php-7.4.6/php-cgi.exe" .php # FastCGI 設定。
【更新 PHP – Thread Safe】
- 到 官方頁面 下載 Thread Safe 壓縮檔。
- 解壓縮,複製目錄到想要的位置。
- 修改 php.ini-production 為 php.ini,用 WinMerge 比對舊版 php.ini。
- 如果 php 目錄名稱與原本名稱不同,開啟 Apache 的httpd.conf ,修改下面內容:
PHPIniDir "D:\Web\php-7.1.5" # 指定 php.ini 存放的資料夾位置。 LoadModule php7_module "D:\Web\php-7.1.5\php7apache2_4.dll" # 載入 php 的模組。
【更新 Apache】
- 到 Apache Haus 下載壓縮檔 (x64)。
- 解壓縮,複製 Apache24 目錄到想要的位置。
- 打開 httpd.conf,用 WinMerge 比對舊版 httpd.conf。
- 將原本 Apache24/htdocs 目錄底下的資料複製到新的 Apache24/htdocs。
- 比對新舊 Apache24/bin 目錄,將自行新增的的 lib***.dll 檔,複製到新的 Apache24/bin,如 libsasl.dll、libssh2。
- 如果 php 是使用 Non Thread Safe,將原 Apache24/Modules 底下的 mod_fcgid.so,複製到新 Apache 的 Apache24/Modules 底下。
- 若還有其他 SSL 憑證或修改過的檔案,也記得搬移。
- 雙擊 httpd.exe,若有跳出錯誤,逐一修正,沒問題後再改以服務啟動。
【更新 MariaDB】
- 到 MariaDB 官網下載 64bit msi 檔。
- 停止 mysql 服務,執行 .msi 檔更新即可。
【更新 phpMyAdmin】
- 到 phpMyAdmin 下載壓縮檔,解壓縮,複製到 Apache24\htdocs。
- 將 config.sample.inc.php 更名為 config.inc.php,用 WinMerge 比對舊版 config.inc.php
【相關連結】
- 老森常譚 » Apache、MariaDB、PHP獨立安裝
- Apache :: How to update/upgrade Apache 2.4 to newer version
- PHP Non Thread Safe和Thread Safe区别 – 歪麦博客