我今天使用此页面上的指示安装了Azure客户端库https://docs.microsoft.com/en-us/azure/storage/blobs/storage-php-how-to-use-blobs#create-a-php-application
但我得到的错误。
400:失败:
代码:400
值:其中一个HTTP标头的值格式不正确。
详细信息(如果有):InvalidHeaderValue其中一个HTTP标头的值格式不正确。 RequestId:f0046f48-001e-0046-22ab-2823fb000000时间:2017-09-08T14:06:55.1682373Zx-ms-version2012-02-12。
我的代码如下:
require_once 'vendor/autoload.php';
use WindowsAzure\Common\ServicesBuilder;
use MicrosoftAzure\Storage\Blob\Models\CreateContainerOptions;
use MicrosoftAzure\Storage\Blob\Models\PublicAccessType;
use MicrosoftAzure\Storage\Common\ServiceException;
$connectionString = "DefaultEndpointsProtocol=http;AccountName=MyAccountName;AccountKey=4cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==";
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);
//create container
$createContainerOptions = new CreateContainerOptions();
// private to the account owner.
$createContainerOptions->setPublicAccess(PublicAccessType::CONTAINER_AND_BLOBS);
// Set container metadata.
$createContainerOptions->addMetaData("category", "my first category data");
try {
// Create container.
$blobRestProxy->createContainer("test", $createContainerOptions);
}
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 "Erro in create container <br><br>";
echo $code.": ".$error_message."<br />";
//print_r($e);
}
在上面的代码我得到了#34;没有找到班级&#34;错误如此更新的代码如下:
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Blob\Models\CreateContainerOptions;
use WindowsAzure\Blob\Models\PublicAccessType;
use WindowsAzure\Common\ServiceException;
在上述代码更改后,&#34;未找到类&#34;错误解决了,我也检查了连接字符串是否运行正常,但收到错误,这在我的问题开头描述。
谢谢:)
答案 0 :(得分:0)
您的代码看起来很好。我可以使用Azure SDK for PHP的v.0.4.2版重现错误。我通过将SDK升级到最新版本(v0.5.5)
解决了问题{
"require": {
"microsoft/windowsazure": "^0.5.5"
}
}
答案 1 :(得分:0)
存在Azure SDK版本问题,因此您可以从我的博客下载SDK v0.5.5,也可以使用PHP 5.4
http://mytechdevelopment.blogspot.com/2018/01/azure-sdk-055-for-php-54-or-igher.html