為什麼使用 PHP 7.2 後更新或預覽文章都會爆出錯誤的?但 WordPress 官方是說 WordPress 4.9.4 支援 PHP 7.2 或以上的,真奇怪!
錯誤如下:
Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/html/wp-content/plugins/cloudflare/src/WordPress/Hooks.php on line 133 Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/plugins/cloudflare/src/WordPress/Hooks.php:133) in /var/www/html/wp-admin/post.php on line 198 Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/plugins/cloudflare/src/WordPress/Hooks.php:133) in /var/www/html/wp-includes/pluggable.php on line 1216
另一個問題是為什麼更新 PHP 的 Minor Version 不兼容舊的 API?不跟 Semantic Versioning 嗎?官方的 Backward incompatible changes 說明。
現階段只好乖乖改回 PHP 7.1。
幸好這個 WordPress 是運行在 Docker 上的,所以很容易更新或還原版本。以下是我的 docker-compose.yaml:
version: "3.4" services: wordpress: image: wordpress:php7.1-apache restart: always container_name: wordpress ports: - 80:80 volumes: - ./wordpress:/var/www/html logging: options: max-size: 10m
docker-compose up -d
很簡單就還原了!Docker 真是好物!
現在只好等新版本的 WordPress 去修正這個問題後再升級吧!
你好!我是 Lawrence Cheung,這是我的個人部落格。我曾經待過小公司,大公司。有創立個人公司和成為共同創辦人經驗,不怕失敗,永遠保持創業熱誠,籍創業不斷學習並改進自己。