我想用亚马逊AWS SDK的PHP在我的Yii项目,但是我获得各种包括错误(如include(CFCredentials.php): failed to open stream: No such file or directory
)。
我认为这可能与Yii中的假设,即类名称必须的文件名匹配...
我们能做什么??
我想用亚马逊AWS SDK的PHP在我的Yii项目,但是我获得各种包括错误(如include(CFCredentials.php): failed to open stream: No such file or directory
)。
我认为这可能与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();
万一有人绊倒在这个问题上,我发现,如果一个人使用药业文件直接(错误的决定,我知道),并通过require_once导入,你不能叫spl_autoload_register重新添加YiiBase自动加载,直到后您的SDK调用完成。
至少使用StsClient调用承担与IAM角色角色时,这是我们的情况。
这是更简单的方法,你可以使用Yii的S3上传扩展。
http://www.yiiframework.com/extension/s3upload/