bestlong 怕失憶筆記

當健忘由隨機逐漸趨向常態時,作筆記是非常必要的

解決升級 WordPress 5 之後,新增文章無法新增區塊

版本升級到 5.0.2 後,要開始使用 Gutenberg 編輯器發文,進入新增文章功能後卻遇上新增區塊的按鈕一直處於失效的狀態。本以為是有外掛造成衝突,但是全部關掉都沒有解決問題,移除全部外掛後也是一樣。後台 Log 也沒有錯誤訊息,前端開發人員工具也是。

最後在官方程式碼問題回報上找到這一篇 Issue
https://github.com/WordPress/gutenberg/issues/12864

原來帳號設定內也有選項要調整,將視覺化編輯器選項的停用勾選拿掉。然後儲存設定後 Gutenberg 編輯器就可以正常使用了。

Leave a Comment

JVCL 自 3.38 版本停止支援 Delphi 5 環境

最近處理幾個 Delphi 5 開發環境下的專案,要先升級到 Delphi 7 開發環境,將所有相依套件進行整理與更新之後。確認 Delphi 5 可以使用 JVCL 的最後版本是 3.37 版。在此做個紀錄。

Leave a Comment

docker: invalid restart policy unless-stopped.

在執行 docker run 啟動容器有使用到 –restart=unless-stopped 參數,結果得到 docker: invalid restart policy unless-stopped. 的錯誤訊息。

請先用 docker version 確認版本,因為 unless stopped restart policy 是到 1.9.0 版才新加入。舊版 docker 環境可以改回用 always policy 繞過問題。

Leave a Comment

在 mac 環境安裝 JDK 6

雖然 JDK 已經演進到 8 的版本,還是會有有需要用到舊版的狀況。

而 Java SE Development Kit 6 在 Oracle 官方沒有直接提供給 mac 用的版本,需要到 Apple 網站下載

請開啟瀏覽器開啟連結到 https://developer.apple.com/download/more/

需要用到 Applie ID 帳號登入

mac-install-jdk6_1

進入畫面後在左側搜尋框查詢 Java

mac-install-jdk6_2

然後展開最新的 Developer Package 就可以看到 dmg 得下載連結

mac-install-jdk6_3

下載後直接安裝就完成 JDK 6 的安裝。

Leave a Comment

ECShop 解決在新版 PHP 環境會有 Deprecated: preg_replace(): The /e modifier is deprecated 問題

ECShop 改版的速度算是滿落後的,PHP 的都推進到第 7 版本了。所以很多函式基於安全性或其他問題都要被改換掉,只要將 PHP 錯誤報告開到 DEBUG 等級就可以看到一堆警示。不過看起來 ECShop 到 PHP 5.6 版環境都還可以運行。所以有能力的話可以自行解決,至少可以讓開發環境在做修改時能減少這些雜訊與寫入 SSD 的次數。

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in cls_template.php XXX line

以下列出我有修改的部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php //cls_template.php
//-- 原本
return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
//-- 修改成
return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);

//-- 原本
$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);
//-- 修改成
$val = preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.$r[1]; }, $val);

//-- 原本
$out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" , "stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";
//-- 修改成
$out = "<?php \n" . '$k = ' . preg_replace_callback("/(\'\\$[^,]+)/" , function($r) { return stripslashes(trim($r[1],'\'')); }, var_export($t, true)) . ";\n";

//--- 原本
$pattern     = '/<!--\s#BeginLibraryItem\s"\/(.*?)"\s-->.*?<!--\s#EndLibraryItem\s-->/se';
$replacement = "'{include file='.strtolower('\\1'). '}'";
$source      = preg_replace($pattern, $replacement, $source);
//--- 修改成
$pattern     = '/<!--\s#BeginLibraryItem\s"\/(.*?)"\s-->.*?<!--\s#EndLibraryItem\s-->/s';
$replacement = function ($r) { return '{include file='.strtolower($r[1]). '}'; };
$source      = preg_replace_callback($pattern, $replacement, $source);

Leave a Comment

  • 工商服務

    廣告讀取中...
  • 近期迴響

  • 標籤

  • 彙整