gpt4 book ai didi

php - 使用 php 通过 azure-website 连接到 azure-blob

转载 作者:行者123 更新时间:2023-12-04 05:18:42 24 4
gpt4 key购买 nike

我已经建立了一个Windows azure网站(php),并且我想连接到azure存储(blob)环境。我走过了How to use the Blob service from PHP教程,但这只提到了网站存储在本地的情况。

我尝试设置一些案例,但我不断收到 http 500 错误。

<?php
require_once 'WindowsAzure/WindowsAzure.php';

use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;

//$connectionString = "\WindowsAzure\Blob\Internal\IBlob";

// Create blob REST proxy.
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString); // the code gets stuck at this line, result is a HTTP 500 error

$content = fopen("C:\Users\Public\Pictures\Sample%20Pictures\Woestijn.jpg", "r");
$blob_name = "newBlob";


try {
//Upload blob
$blobRestProxy->createBlockBlob("default", $blob_name, $content);
}
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/en-us/library/windowsazure/dd179439.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}?>

有没有人遇到类似的问题并设法解决的?

编辑:

我现在缩小了错误搜索范围。我进入 ServicesBuilder.php 文件,逐行注释掉,直到页面停止工作。出错的地方是$httpClient,如下图:

public function createBlobService($connectionString)
{
$settings = StorageServiceSettings::createFromConnectionString(
$connectionString
);

$httpClient = $this->httpClient();
$serializer = $this->serializer();
$uri = Utilities::tryAddUrlScheme(
$settings->getBlobEndpointUri()
);

最佳答案

据我所知,您正在使用以下值填充 $connectionString 变量:"\WindowsAzure\Blob\Internal\IBlob" (即使它是评论 - 所以可能你是从其他地方传递的)。如果是这种情况,您需要更改它。

连接字符串应该是对您的存储帐户的引用,其中包含协议(protocol)、帐户名称和 key (您可以在门户中找到名称和 key ):

$connectionString = "DefaultEndpointsProtocol=https;AccountName=jeroensaccount;AccountKey=fjmezfjmIOFJEZIOPAFJAZOPIFJAIMO"

关于php - 使用 php 通过 azure-website 连接到 azure-blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13930880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com