我想在我的Yii項目中使用Amazon AWS開發工具包PHP,但是我收到各種包含錯誤(例如include(CFCredentials.php): failed to open stream: No such file or directory
)。如何在Yii中安裝AWS開發工具包
我認爲這可能與Yii中的假設,即類名稱必須的文件名匹配...
我們能做些什麼?
我想在我的Yii項目中使用Amazon AWS開發工具包PHP,但是我收到各種包含錯誤(例如include(CFCredentials.php): failed to open stream: No such file or directory
)。如何在Yii中安裝AWS開發工具包
我認爲這可能與Yii中的假設,即類名稱必須的文件名匹配...
我們能做些什麼?
我做了:
spl_autoload_unregister(array('YiiBase', 'autoload'));
require_once PATH_TO_AWS_SDK . 'sdk.class.php';
// I write down in PATH_TO_AWS_SDK.'config.inc.php' my CFCredentials
spl_autoload_register(array('YiiBase', 'autoload'));
$amazon_opts = array(
'curlopts' => array(
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_FORBID_REUSE => false,
),
);
$amazon = new AmazonSES();
$response = $amazon->get_send_quota($amazon_opts);
這美麗的工作:
// Include the SDK
Yii::import('application.vendors.aws.*');
spl_autoload_unregister(array('YiiBase', 'autoload'));
require_once 'sdk.class.php';
spl_autoload_register(array('YiiBase', 'autoload'));
// Instantiate the AmazonEC2 class
$ec2 = new AmazonEC2();
這是更簡單的方法,你可以使用Yii的S3上傳擴展。
,以防有人絆倒在這個問題上,我發現,如果一個人使用藥業文件直接(決定很差,我知道),並通過require_once導入,你不能叫spl_autoload_register重新添加YiiBase自動加載直到您的SDK調用完成。
至少這是我們使用StsClient調用具有IAM角色的承擔角色時的情況。
而不是禁用Yii的自動加載器然後添加它(以亞馬遜第一)可能會導致亞馬遜的自動加載器前 如在這篇博文中提到 http://blog.lency.me/2012/06/17/integrate -jamzon-web-service-aws-sdk-with-yii-framework/ –
嗨@sergey,我會得到錯誤'致命錯誤:Class'CFCredentials'在/ home/xxx/workspace/project/protected/components中找不到第2行的/amazon/config.inc.php「,請幫助我 –