PHP OpenCloud \ Rackspace问题

时间:2014-01-01 17:30:38

标签: php openstack rackspace php-opencloud

我在尝试让Rackspace Opencloud API按预期工作时遇到问题(特别是云文件)。

我一直在关注这些指南:

https://github.com/rackspace/php-opencloud/blob/master/docs/userguide/ObjectStore/Access.md http://docs.rackspace.com/sdks/api/php/namespace-OpenCloud.ObjectStore.html

身份验证似乎工作正常,因为返回了令牌和服务目录。

header("Content-Type: text/plain");
require '/vendor/autoload.php';

use OpenCloud\Rackspace;

$client = new Rackspace('https://lon.identity.api.rackspacecloud.com/v2.0/', array(
    'username' => 'MY_USERNAME',
    'apiKey'   => 'MY_APIKEY'
));

$client->authenticate();

echo 'Authenticated with token: '.$client->getToken()."\n\n";

print_r($client->getCatalog());

当我尝试使用API​​中的服务时,我的问题开始了:

$service = $client->objectStoreService('cloudFiles');

这一行杀死了代码。我已经复制了Rackspace文档行,但仍然没有运气,我无法使任何服务工作。

任何人都可以看到我出错的地方或提供解决此问题的最佳方法的任何提示吗?

1 个答案:

答案 0 :(得分:6)

明确指定区域

您需要明确选择要使用的区域。从您的身份行,您似乎需要将其设置为LON。

$service = $client->objectStoreService('cloudFiles', 'LON'); # Or IAD, HKG, SYD, etc.

旁注:我刚刚提交了一份pull request on php-opencloud,以便在文档中更加清晰。