Ошибка использования PHP в служебной шине Azure?

Я пытаюсь подключиться к очереди служебной шины в Microsoft Azure с помощью PHP, используя следующий код, указанный в руководстве по Azure:

<?php
require_once 'vendor/autoload.php';
use MicrosoftAzure\Storage\Queue\QueueRestProxy;
use MicrosoftAzure\Storage\Common\Exceptions\ServiceException;
use MicrosoftAzure\Storage\Queue\Models\CreateMessageOptions;
$connectionString = "DefaultEndpointsProtocol=https;AccountName="name";AccountKey=key";
// Create queue REST proxy.
$queueClient = QueueRestProxy::createQueueService($connectionString);
try{
// Create message.
$builder = new ServicesBuilder();
$queueClient->createMessage("cmps297r1", "Hello World!");
}
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/library/azure/dd179446.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
?>

Однако, когда я запускаю его, я получаю эту ошибку:

Исправляемая фатальная ошибка: аргумент 4, передаваемый в MicrosoftAzure \ Storage \ Common \ Internal \ ServiceRestProxy :: __ construct (), должен быть экземпляром MicrosoftAzure \ Storage \ Common \ Internal \ Serialization \ ISerializer, заданный массив, называемый в / Applications / XAMPP / xamppfiles /htdocs/297R/vendor/microsoft/azure-storage/src/Queue/QueueRestProxy.php в строке 110 и определяется в / Applications / XAMPP / xamppfiles / htdocs / 297R / vendor / microsoft / azure-storage / src / Common / Internal /ServiceRestProxy.php в строке 77

0

Решение

Код, который вы вставили, выглядит хорошо для меня (за исключением того, что вы не включили use заявление для ServicesBuilder класс, который вызвал быКласс не найден» ошибка).

И, как упомянул @Thuan Ng, приведенный выше код принадлежит очереди хранения Azure, а не очереди служебной шины. Вы должны обратиться к этой документации Как использовать очереди служебной шины с PHP если вы используете служебную шину Azure.

0

Другие решения

Других решений пока нет …