Azure blob存储提供500内部错误

时间:2012-04-03 08:23:28

标签: php azure azure-storage azure-storage-blobs

如果我部署一个连接到Blob存储的简单程序,我在Windows Azure中也会遇到500个内部服务器错误(在localhost上):

<?php
$blob = new Microsoft_WindowsAzure_Storage_Blob(
    'blob.core.windows.net',
    '##storage_account##',
    '##storage_key##'
);

$blob->createContainerIfNotExists('img');

$blob->listBlobs('img');
?>

如果我不使用blob但只使用SQL访问或简单的phpinfo(),那么一切正常。

2 个答案:

答案 0 :(得分:0)

确保您已包含phpAzure SDK文件。

这将类似于文件顶部的以下内容:

require_once 'Microsoft/WindowsAzure/Storage/Blob.php';

为此,您应该在include路径或当前目录中的某处安装phpAzure SDK(http://phpazure.codeplex.com/

希望有所帮助!

答案 1 :(得分:0)

以下是我作为PHP加Azure演示文稿的一部分使用的演示中的一个简单示例。也许它会有所帮助。请注意,正如其编写的那样,它将获取一个发布到脚本的文件,并将其写入名为“sampleblobs”的本地存储容器中。正如Thomas指出的那样,您需要确保使用我的代码片段顶部的require_once行来加载PHP SDK for Azure。

<?php

require_once('Microsoft/AutoLoader.php');

if (!empty($_FILES['userfile']['name']))
{
    $container = 'sampleblobs';
    $filename = "somefolder/".$_FILES['userfile']['name'];

    $blobStorageClient = new Microsoft_WindowsAzure_Storage_Blob();
    $blobStorageClient->createContainerIfNotExists($container);

    $blobStorageClient->putBlob(
        $container, // container name
        $filename,  // name in storage
        $_FILES['userfile']['tmp_name'],  // object to upload
        array('createdby' => 'CodeMash', 'FileType' => 'jpg') // metadata
    );

    echo "<br>file uploaded.";
}