PHP OpenCloud\Rackspace问题

War*_*ren 4 php rackspace openstack 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());
Run Code Online (Sandbox Code Playgroud)

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

$service = $client->objectStoreService('cloudFiles');
Run Code Online (Sandbox Code Playgroud)

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

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

Kyl*_*ley 6

明确指定区域

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

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

旁注:我刚刚在php-opencloud上提交了一个pull请求,以便在文档中更加清晰.