最近在進行WordPress遷移至新服務器的過程中,遭遇到一個棘手的問題,即在編輯文章并上傳圖片時,不斷遭遇“此響應不是合法的JSON響應”的錯誤。經過多次驗證和搜索,最終確定問題的根本原因并不在于禁用 Gutenberg 編輯器或安裝經典編輯器插件,而是由于一些 PHP 模塊未被正確開啟。本文將詳細介紹在 PHP 安裝后應該開啟哪些模塊以及相應的開啟方法。
一、錯誤審視
錯誤如下:
在使用 Gutenberg 編輯器進行復制粘貼或上傳圖片時,出現了上述錯誤。值得注意的是,若首先將圖片上傳至媒體庫,再從媒體庫添加圖片,則不會遇到此問題。因此,很多攻略建議禁用 Gutenberg 編輯器或安裝經典編輯器插件,但這些方法只是治標不治本,未能找到問題的真正根源。
正確的解決方法是開啟php必要的模塊設置:
二、PHP模塊開啟和參數設置
編輯 php.ini,里面有很多配置要修改
1. 修改擴展文件的路徑
打開 php.ini 文件,尋找以下配置:
;extension_dir = "ext"
把 ;extension_dir = “C:\php\ext” 前面的分號去掉,然后引號里改成ext文件夾的絕對路徑。
extension_dir = "“C:\php\ext"
2. 修改擴展文件
修改需要加載的擴展文件,取消部分擴展程序的注釋(注釋就是分號)
找到擴展程序的部分
;extension=php_exif.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
修改后如下:
?extension=php_exif.dll
extension=php_gd2.dll
extension=php_gettext.dll
3. 設置默認的時區
找到這個部分:
;date.timezone =
修改問Asia/Shanghai,如圖
date.timezone = Asia/Shanghai
4. 設置 ssl
找到這個部分(我的是在文件末尾)
;openssl.cafile=
修改為cacert.pem,如圖:
openssl.cafile=cacert.pem
5. 開啟php短標簽
找到如下部分:
; short_open_tag
去掉注釋,改為:
short_open_tag = on
6. 以CGI模式運行PHP
找到如下部分:
; cgi.force_redirect = 1
取消注釋,改為:
cgi.force_redirect = 0
7. 取消一些配置注釋
找到如下部分:
; fastcgi.impersonate = 1
取消注釋,改為:
fastcgi.impersonate = 1
在fastcgi的下面,找到:
; cgi.rfc2616_headers = 1
取消注釋:
cgi.rfc2616_headers = 1
我們把修改好的php.ini文件復制一份,放到 C盤 的 windows 文件夾下。
三、驗證錯誤是否已經解決
經過驗證,問題已經得到解決!現在,在編輯文章并上傳圖片時,再也不會遭遇“此響應不是合法的JSON響應”的錯誤。這些 PHP 模塊的正確設置確保了系統對于編輯器的正常運行,提升了 WordPress 在新服務器上的穩定性和可用性。通過本文提供的步驟,你可以輕松解決類似問題,確保 WordPress 在遷移過程中順利運行。