[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}
ACSD-58131:由於0位元組影像檔案,舊媒體集無法載入影像
ACSD-58131修補程式修正目錄中有0位元組影像時,舊媒體庫無法轉譯影像的問題。 安裝Quality Patches Tool (QPT) 1.1.68時,即可使用此修補程式。 修補程式ID為ACSD-58131。 請注意,此問題已排程在Adobe Commerce 2.5.0中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.6-p4
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.4 - 2.4.7-p6
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將
magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
將0位元組影像放入媒體集目錄時,舊媒體集無法轉譯任何影像。 更新後的系統現在會略過無效的0位元組檔案,如預期顯示有效的影像,並針對每個無效檔案記錄警告。
[2024-05-02T14:00:39.616459+00:00] report.WARNING: The image empty2.jpg is invalid and cannot be displayed in the gallery. [] []
要再現的步驟:
-
前往「Stores > Configuration > Advanced > System > Media Gallery」。
-
將 Enable Old Media Gallery 設為 是。
-
在
pub/media/wysiwyg目錄中放置一些影像。 -
使用
touch pub/media/wysiwyg/empty_image.png在相同目錄中建立0位元組影像。 -
透過任何內容下的頁面產生器(例如CMS區塊),從
wysiwyg目錄新增影像:- 建立新區塊。 前往 Content > Elements > Blocks,然後按一下 Add New Block。
- 使用頁面產生器編輯內容區段。
- 在 Layout 底下,將新的 Row 拖曳到舞台。
- 展開 Media 並將 Image 預留位置拖曳到列中。
- 按一下 Select from Gallery。
- 選取
wysiwyg目錄(如果預設未選取)。
預期結果:
即使0位元組影像(或任何其他檔案)存在,媒體集仍可正常運作。
實際結果:
媒體集無法從wysiwyg目錄載入任何影像,因為在var/log/system.log中記錄了一個嚴重錯誤:
[2024-03-22T05:00:55.100934+00:00] report.CRITICAL: Exception: Notice: getimagesizefromstring(): Error reading from ! in /app/project/vendor/magento/module-cms/Model/Wysiwyg/Images/Storage.php on line 426 in /app/project/vendor/magento/framework/App/ErrorHandler.php:62
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool 指南中的>使用狀況Quality Patches Tool。
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式。
相關閱讀
若要進一步瞭解Quality Patches Tool,請參閱:
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3