我個 Blog 重生了 (第一話)

My Blog must go on…

Landing page screenshot of Blog.timmy.jp

以往都試過昇級某些東西時出事呢,每次都很煩耶…,當時昇級後見它死了,又在想左圖就是它的遺照嗎?

又其實,何謂一個網站的遺照呢?哈哈…,某一版面某一時刻的 Screenshot 能代表多少?

 
悼念網站某個時期的部份版面

可造訪 https://archive.org/ 啊,他們很厲害的,試圖鯨吞天下間大部分網站的每次變動啊。
好些己不再存在的網站他們也有記載其過去不同時期的 Archive。
 

被逼急住昇級惹禍

「PHP Update Required」って

過去幾個月比較少寫 Blog post 了,近日又有點重燃之態,於是打開這個網站的 Backend 看看,打理一下其背後的好些事(自行架站的部落格主人必定明白我在說甚麼,有甚麼要打理之類)。登入到 Backend 不足一分鐘便看到一個十分不高興又有點礙眼的 Warning message,「PHP Update Required: WordPress has detected that your site is running on an insecure version of PHP. What is PHP and how does it affect my site? PHP is the programming language we use to build and maintain WordPress. Newer versions of PHP are …」

就是上方那段文字了(英文版),各位 WordPress 站長今年陸續必定看到這個東西的。

PHP 7

看到那個訊息,還想馬上打開 VPS 的 Multiple Websites Management System 來看看,但心想有點不太對勁。VPS 上的 Operating system 本來就被設定成 Auto-update 的,那會有 PHP 更新還未進行?

再細心一想,幾年前看過有關 PHP 的報導啊,那就是 PHP 宣佈推行 PHP 7。PHP 從 Version 3 起正式供人們自由使用 (Open source 世界的東西),2000年天右更推出 PHP 4,Internet 大爆發之時擠身成為 ASP, JSP, Apache Velocity 等 Sever-side scripting languages for Web Application 之外的一個 Alternative,再經過漫長發展至 2016 年左右,都只是 Version 5.x。累積了十分多「包伏」,對家 ASP 也早就變身成 Dot Net Framework 成員之一的 ASP.Net 了,JSP 也不知變身成甚麼…(總之都有大變革),PHP 呢?發展緩慢,而且眼白白地看著 Python 勢如破竹,就是這樣要咬緊牙根爭一爭氣吧。於是,2017 年宣佈 PHP 將推出重大革新世代,PHP 7!原本那是一則好消息,但同時官方宣佈 PHP 7 將不相容舊有的 Versions!!!一切重新出發,WordPress 血脈本就是 PHP,那豈不是說 WordPress 也要跟隨大變身了?答案是肯定的…,就連 Plug-ins 們也要好好緊隨,不然便不可能推出新版本以便適應 PHP 7 的全新世界。

那簡直是牽連甚廣「盛事」啊,祝各位站長好運…(明白的人自然會開始腳震)。

PHP 昇級:どうやって?How?

正常處理方法

要為 WordPress 未來需要而及早進行 PHP 7 昇級,對我來說本來不是甚麼大不了的事,就先拿自己的網站試試看吧,大致分為幾個大關卡。

  1. 替 Operating system 上預載的 PHP packages 多加一個 Version 7 的副本
  2. 將這個網站背後指定使用的 PHP package 改為指向 7.4.12 (Version 7 的最新版本)
  3. 登入 WordPress 的 Backend 看看有甚麼 Plugins 需要被逼放棄並找尋類似的替代品,希望不會太多吧,一向使用比較勤力更新或付費的 Plugins 為主
  4. 以上三步完成後好好試一試是否一切運作正常

正常處理方法卡關了

PHP 7 要升級,對住 VPS 的 Operating system,不論使用 Web based administration interface 還是 SSH Console,很快便要臉色一沉、額角出現「小丸子」式的密密灰底直間。Operating system 版本落後於 Latest release 一代關係,原則上不能安裝 PHP 7!!!

對了,CentOS 7 是不能使用 PHP 7,要用的話正途便是先昇級 Operating system。雖然我己經利用某某出品的 Multiple Websites Management System,莫說昇級,Even clean install CentOS 8 也不會太困難,只是耗費時間需要多長。若 Backup 所有 Web sites 並 Clean install CentOS,再安裝 Multiple Websites Management System 並 Restore 所有 Web sites,大概要花上大半天時間,甚至一整天。能昇級的話就昇級吧,總會比起重裝方便吧。快手快腳昇級 Operating system, 然後昇級 PHP 就是了。此舉還可受惠 Operating system 的 Upgrade installation 過程也會順道昇級好既有 Software packages 而自動昇級好 PHP 7 呢。CentOS 8 就是與生俱來有 PHP 7 (By default, Version 7.2 and 7.3)。

PHP 7 on CentOS 7 有偏方可用嗎?

Upgrade CentOS 7 to 8 是沒有 Official method…

以往 CentOS 均可以跟 Enterprise RedHat 類近地一代一代昇級是可行的,不用每次都必須 Clean install。但今回大不同了,跟隨 Enterprise RedHat 一樣,是次昇級並沒有 Upgrade path,系統經過極大革新,必須一切從頭開始。

真的必須要昇級至 CentOS 8?

基於懶惰也好,基於時間不足也好,基於打算節省功夫也好,Operating system 暫時不作昇級也可理解的吧,有其它方法嗎?Linux 世界理應十分 Flexible 才對吧,昔日未流行 Package manager 時 Linux 界一直都有社群替較舊的 Linux 版本提供好些常用的 Software package, Library package, Development kit 等等,好讓舊一點甚至舊很多代的 Linux host 仍能生存多一點日子。

經過一輪資訊搜集並細閱一番,安全情況下經由 Non-official 的 Software packages 渠道獲取所需 Utilities and Libraries 以另類 Deployment methods 去為 CentOS 7 加裝 PHP 7 的 Package 的。只要成功 Deploy 並修正 Web Server system 及 Multiple Websites Management System,個別 Web sites 試用 PHP 7 整合是可行的。

之不過… しかし…

下回待續

有下集即代表不會有好狀況出沒吧,本文章有點長了,下集再寫。

コメントを残す

メールアドレスが公開されることはありません。