InfinityFree 可以安裝 WordPress,也可以安裝 Woocommerce 外掛,但是當你測試下訂單再去看後台的 Woocommerce 的分析數據時,會發現怎麼訂單數字都是「0」? 這不是你的問題,而是 InfinityFree 提供的免費帳戶關閉了 Cron jobs。 Cron jobs 是什麼? 為何關閉後會讓 Woocommerce 不正常呢? 因為 Woocommerce 很多工作都依靠 Action Scheduler 在運作,而 Action Scheduler 會運作就是依賴 Cron jobs。 Cron 是一款基於時間的任務管理系統,使用者們可以通過 cron 在固定時間、日期、間隔下,執行定期任務。InfinityFree 不提供 cron 給免費帳戶是為了安全與效率因素,因為如果免費帳戶用 了太多的 cron jobs,會浪費資源拖垮其他使用者。 如果你去後台觀察,就可以看到如下圖 : 以上如果很多行程都沒有「完成」,就是因為 Action Scheduler 無法運作了。 因為效率問題,Woocommerce 不會在處理訂單時把彙整的動作一起做,他只會做寫入的動作,因此很多關聯的資料就必須靠 Action Scheduler 把正確的…
如果你使用InfinityFree的空間寫PHP程式,你會發現程式再怎麼錯誤,都看不到錯誤訊息。 因為InfinityFree的預設,PHP的錯誤是不顯示的。 但是如果不顯示錯誤訊息,將會造成除錯的困難,因此我們需要將預設修改,修改方式如下 : 我們只需要將 Display Errors 改為 On,順便將PHP Time Zone 改為 Asia/Taipei。 以上這個畫面的進入點是 : 到你的InfinityFree Home,點選你的帳號後,由 Account Options 的 Domains 進入,再由 PHP Options 進入,即可看到以上畫面。 為何InfinityFree的Display Errors要預設為 Off 呢? 通常系統開發完成之後,會不希望執行時出現編譯錯誤的訊息,而希望所有的錯誤都由程式系統自己處理,因為有時候產生錯誤後,並不需要暫停執行程式,而是由程式自行處理。 但是在程式的開發階段,錯誤訊息就很重要了,因為可以進行除錯。 另外,InfinityFree中還有一個需要搞清楚的就是系統時間 timezone 設定。 InfinityFree的MySQL/MariaDB有自己的時區設定 (設定為SYSTEM,比台灣時間慢12小時),PHP也…