Php Azure blob存储提供500个内部错误

Php Azure blob存储提供500个内部错误,php,azure,azure-storage,azure-storage-blobs,Php,Azure,Azure Storage,Azure Storage Blobs,如果我部署一个连接到Blob存储的简单程序,则在Windows Azure中(也在本地主机上)会出现500个内部服务器错误: <?php $blob = new Microsoft_WindowsAzure_Storage_Blob( 'blob.core.windows.net', '##storage_account##', '##storage_key##' ); $blob->createContainerIfNotExists('img'); $

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

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

$blob->createContainerIfNotExists('img');

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


如果我不使用blob,而只使用SQL access或简单的phpinfo(),那么一切都可以。

确保已包含phpAzure SDK文件

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

require_once 'Microsoft/WindowsAzure/Storage/Blob.php';
为此,您应该在include路径或当前目录中的某个位置拥有phpAzure SDK()


希望有帮助

下面是一个简单的示例,我曾多次在PHP plus Azure演示文稿中使用过这个示例。也许这会有帮助。请注意,在编写时,它将获取一个发布到脚本的文件,并将其写入名为“sampleblobs”的本地存储容器。正如Thomas指出的那样,您需要确保正在加载适用于Azure的PHP SDK,我使用代码段顶部的require_once行来完成这项工作

<?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.";
}

在php.ini上设置display_errors=on以查看真正的php错误…嗯,是的,sdk。。。我下载了它(摘录),但我应该把它放在哪里?我把它放在F:\PHPAzure-4.1.0中(F中安装了win7)。在php.ini文件中,我放置了:include_path=f:\PHPAzure-4.1.0\。现在错误是:警告:require_once(Microsoft/WindowsAzure/Storage/Blob.php):无法打开流:第3行的F:\inetpub\wwwroot\Blob\index.php中没有这样的文件或目录致命错误:require_once():无法打开所需的“Microsoft/WindowsAzure/Storage/Blob.php”(包括_path='F:\PHPAzure-4.1.0\')在第3行的F:\inetpub\wwwroot\blob\index.php中,如果您认为答案有帮助,请将答案标记为正确答案。它将帮助遇到相同问题的未来用户。第一个将向您展示如何在本地计算机上为开发设置SDK,第二个将向您展示如何将所需的库文件获取到项目中