kaizendeveloper/pimcore-bundle-azure-blob-sync

为了纠正某些Pimcore安装上显示的一些PSR4错误,这是Rohit Raj Verma项目的分支。此bundle用于同步Pimcore到Azure Blob Storage的所有记录资产

安装: 34

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 4

类型:pimcore-bundle

v1.3.3 2021-09-30 16:08 UTC

This package is not auto-updated.

Last update: 2024-09-20 23:58:25 UTC


README

从rohitrajv5/pimcore-bundle-azure-blob-sync分支而来

Pimcore Azure Bundle用于将Pimcore资产推送到Microsoft Azure Blob Storage

尝试修复:PS4兼容性问题

与Pimcore > v5.6兼容。已在Pimcore 6上测试

安装

使用Composer安装

composer require kaizendeveloper/pimcore-bundle-azure-blob-sync

执行以下命令

bin/console pimcore:bundle:enable AzurePimcoreBundle
bin/console assets:install web

插件将看起来像这样

alt text

Pimcore Admin中的更改
  1. 转到Pimcore Admin -> 设置 -> Azure Blob Container设置

  2. 输入您的凭据并保存。

配置和设置

在"app/constant.php"中添加以下代码

try {
    $file = __DIR__ . '/../var/config/azure.php';
    if (file_exists($file)) {
        $azureConfig = include($file);
    }
} catch (\Exception $e) {
    $azureConfig = [];
}
$azureEnabled = FALSE;
if (isset($azureConfig['enableAzure']) && $azureConfig['enableAzure']) {
    $azureEnabled = TRUE;
    define("AZURE_ACCOUNT_URL", $azureConfig['accountUrl']);
    define("AZURE_ACCOUNT_NAME", $azureConfig['accountName']);
    define("AZURE_ACCOUNT_KEY", $azureConfig['accountKey']);
    define("AZURE_CONTAINER", $azureConfig['container']);   
    $azureFileWrapperPrefix = "blob://" . AZURE_CONTAINER; // do NOT change    
    define("PIMCORE_ASSET_DIRECTORY", $azureFileWrapperPrefix . "/assets");
    //define("PIMCORE_TEMPORARY_DIRECTORY", $azureFileWrapperPrefix . "/tmp");
    //constants for reference in the views
    //define("PIMCORE_TRANSFORMED_ASSET_URL", AZURE_ACCOUNT_URL . "/" . AZURE_CONTAINER . "/assets");
    // the following paths should be private!
    define("PIMCORE_VERSION_DIRECTORY", $azureFileWrapperPrefix . "/versions");
    //define("PIMCORE_RECYCLEBIN_DIRECTORY", $azureFileWrapperPrefix . "/recyclebin");
    //define("PIMCORE_LOG_MAIL_PERMANENT", $azureFileWrapperPrefix . "/email");
    //define("PIMCORE_LOG_FILEOBJECT_DIRECTORY", $azureFileWrapperPrefix . "/fileobjects");
}
define("ENABLE_AZURE",$azureEnabled);

取消注释您想要在Azure Blob Storage上同步的选项。

在"app/startup.php"中添加以下代码常量

use AzurePimcoreBundle\AzureBlobStorage\StreamWrapper;
if (ENABLE_AZURE) {
    $accountUrl = AZURE_ACCOUNT_URL;
    $accountName = AZURE_ACCOUNT_NAME;
    $accountKey = AZURE_ACCOUNT_KEY;
    $connectionString = "DefaultEndpointsProtocol=https;AccountName=" . $accountName . ";AccountKey=" . $accountKey;

    $container = AZURE_CONTAINER;

    $blobClient = \MicrosoftAzure\Storage\Blob\BlobRestProxy::createBlobService($connectionString);

    StreamWrapper::register($blobClient, 'blob');

    \Pimcore\File::setContext(stream_context_create([
        'blob' => ['seekable' => true]
    ]));
}

许可证

GPL-3.0+