我已经在存在index.php文件的根文件夹中创建了composer.json文件,其中包含以下代码:
{
"require": {
"microsoft/windowsazure": "^0.5"
}
}
在下载composer.phar时,我已使用以下方法安装了它:
php composer.phar install
我正在尝试创建一个表并在php中向其中添加实体。我使用命令
use WindowsAzure\Common\ServicesBuilder;
$connectionString = 'DefaultEndpointsProtocol=https;AccountName=******;AccountKey=***/***************************/******************/**********************************==';
$tableRestProxy = ServicesBuilder::getInstance()->createTableService($connectionString);
try {
// Create table.
$tableRestProxy->createTable("mytable");
}
catch(ServiceException $e){
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}
当我在Ubuntu的本地主机上运行此命令时,出现错误消息-
Uncaught Error: Class 'WindowsAzure\Common\ServicesBuilder' not found in /home/my_folder/php-docs-hello-world-master/index.php:30
如果我添加
require_once 'vendor/autoload.php';
在定义我的$ connectionString之前,我的错误更改为:
/index.php - Uncaught RuntimeException: Error creating resource: [message] fopen(https://eyesav.table.core.windows.net/Tables): failed to open stream: Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?
有人问我这个问题吗,如果是我的作曲家,connectionString或其他东西的安装?
预先感谢:)
答案 0 :(得分:0)
有人问我这个问题吗,如果是我的作曲家,connectionString或其他东西的安装?
如果我使用您提到的代码,也可以重现您提到的问题。
请尝试使用以下代码创建表客户端。它对我有用。
use MicrosoftAzure\Storage\Table\TableRestProxy;
use MicrosoftAzure\Storage\Common\ServiceException;
$tableClient = TableRestProxy::createTableService($connectionString);
以下是来自天青official document的演示代码。
<?php
require_once "vendor/autoload.php";
use MicrosoftAzure\Storage\Table\TableRestProxy;
use MicrosoftAzure\Storage\Common\ServiceException;
$connectionString = 'DefaultEndpointsProtocol=https;AccountName=xxxx;AccountKey=xxxxxxx;';
$tableClient = TableRestProxy::createTableService($connectionString);
try {
$tableClient->createTable("mytable");
}
catch(ServiceException $e){
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";
}