How to install the AWS SDK in Yii

谁说我不能喝 提交于 2020-01-01 11:48:28

问题


I would like to use the Amazon AWS SDK for PHP in my Yii project, however I get all kinds of include errors (such as include(CFCredentials.php): failed to open stream: No such file or directory ).

I think it may be related to Yii's assumption that class names must match file names...

What can we do??


回答1:


I've made that:

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);



回答2:


This worked beautifully:

// 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();



回答3:


In case someone stumbles upon this issue, I've found that if one is using the PHAR file directly (poor decision, I know) and importing via require_once, you cannot call spl_autoload_register to re-add YiiBase autoload until after your SDK call is complete.

At least this was our case when using the StsClient to call assume role with an IAM role.




回答4:


This is more easier way, You can use Yii S3 Upload extension.

http://www.yiiframework.com/extension/s3upload/



来源:https://stackoverflow.com/questions/13515673/how-to-install-the-aws-sdk-in-yii

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!