使用媒体数据库

IMPORTANT
自Adobe Commerce和Magento Open Source2.4.3起,数据库媒体存储方法已弃用。

默认情况下,Commerce实例的所有图像、编译的CSS文件和编译的JavaScript文件都存储在Web服务器上的文件系统中。 您可以选择将这些文件存储在数据库服务器的数据库中。 此方法的一个优点是在Web服务器文件系统和数据库之间自动同步和反向同步。 您可以使用默认数据库存储介质或创建介质。 要将新创建的数据库用作媒体存储,必须将有关该数据库及其访问凭据的信息添加到env.php文件中。

数据库工作流

  1. 浏览器请求媒体 — 商店中的页面会在客户的浏览器中打开,浏览器会请求HTML中指定的媒体。

  2. 系统在文件系统中查找介质 — 系统在文件系统中搜索介质,如果找到,则将其传递给浏览器。

  3. 系统在数据库 ​中查找媒体 — 如果在文件系统中未找到媒体,则会向配置中指定的数据库发送对媒体的请求。

  4. 系统在数据库中定位媒体 - PHP脚本将文件从数据库传输到文件系统,并发送到客户的浏览器。 浏览器对媒体的请求会触发脚本运行,如下所示:

    • 如果为Commerce启用了Web服务器重写,并且服务器支持该重写,则只有在文件系统中找不到所请求的媒体时,PHP脚本才会运行。
    • 如果Commerce禁用了Web服务器重写,或者服务器不支持重写,则即使文件系统中有所需的介质,PHP脚本仍会运行。

使用数据库进行媒体存储

  1. 在​ 管理员 ​侧边栏上,转到​ Stores > Settings>Configuration

  2. 在左侧面板中,展开​ Advanced ​并选择​ System

  3. 在左上角,将​ Store View ​设置为Default Config以在全局级别应用配置。

  4. 展开​ Storage Configuration for Media ​部分中的 扩展选择器 并执行以下操作:

    高级配置 — 媒体的存储配置 {width="600" modal="regular"}

    • 将​ Media Storage ​设置为Database

    • 将​ Select Media Database ​设置为要使用的数据库。

    • 要将现有媒体传输到新选择的数据库中,请单击​ Synchronize

    • 输入​ Environment Update Time(以秒为单位)。

  5. 完成后,单击​ Save Config

recommendation-more-help
2b0136b4-ef75-405f-9734-60d741f198de