【问题标题】:PHP Warning: require_once(WindowsAzure/Blob/Models/BlockList.php): failed to open streamPHP 警告:require_once(WindowsAzure/Blob/Models/BlockList.php):无法打开流
【发布时间】:2017-09-14 16:48:10
【问题描述】:

我使用了azure-sdk-for-php 库,我收到了这个错误警告:require_once(WindowsAzure/Blob/Models/BlockList.php): failed to open stream: No such file or directory。

我的代码如下-

define("__BLOBNAME__", "BLOBNAME");
define("__CONTAINERNAME__", "CONTAINERNAME");
define("__BLOBKEY__", "BLOBKEY");

//require_once('WindowsAzure\WindowsAzure.php');
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;
use WindowsAzure\Common\CloudConfigurationManager;
use WindowsAzure\Blob\Models\Block;
use WindowsAzure\Blob\Models\CreateContainerOptions;
use WindowsAzure\Blob\Models\ListContainersOptions;
use WindowsAzure\Blob\Models\CreateBlobOptions;
use WindowsAzure\Blob\Models\CommitBlobBlocksOptions;

use WindowsAzure\Blob\Models\BlobProperties;


$connectionString = "DefaultEndpointsProtocol=http;AccountName=" . __BLOBNAME__ . ";AccountKey=" . __BLOBKEY__ . "";

if (null == $connectionString || "" == $connectionString) {
    echo "Did not find a connection string whose name is 'StorageConnectionString'.";
    exit();
}

// Create blob REST proxy.
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);

try {
    // List blobs.
    $blob_list = $blobRestProxy->listBlobs(__CONTAINERNAME__);
    $blobs = $blob_list->getBlobs();

    // iterate over blobs
    foreach ($blobs as $blob) {
        $options = new WindowsAzure\Blob\Models\CreateBlobOptions();
        $options->setBlobCacheControl("public, max-age=604800");
        echo 'setting ... ';
        $blobRestProxy->setBlobProperties(__CONTAINERNAME__,$blob->getName(), $options);
    }

} catch (ServiceException $e) {
    // Handle exception based on error codes and messages.
    // Error codes and messages are here:
    // http://msdn.microsoft.com/library/azure/dd179439.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code . ": " . $error_message;
}

【问题讨论】:

    标签: php azure-blob-storage


    【解决方案1】:

    您似乎未能加载 SDK 文件。

    解决依赖关系的推荐方法是使用Composer package manager 安装它们。

    • 在项目的根目录中创建一个名为 composer.json 的文件,并将以下代码添加到其中:

      json { "require": {
      "microsoft/windowsazure": "^0.5" }
      }

    • 在您的项目根目录中下载 composer.phar

    • 打开命令提示符并在项目根目录中执行此操作

      php composer.phar install

    然后在您的代码中加载 SDK:

    require_once "vendor/autoload.php";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 2019-12-08
      • 2015-03-22
      • 2011-07-16
      • 1970-01-01
      相关资源
      最近更新 更多