如果我部署一个连接到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(),那么一切正常。
答案 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.";
}