Php Azure blob存储提供500个内部错误
如果我部署一个连接到Blob存储的简单程序,则在Windows Azure中(也在本地主机上)会出现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'); $
<?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,第二个将向您展示如何将所需的库文件获取到项目中