Yii プロジェクトで Amazon AWS SDK for PHP を使用したいのですが、あらゆる種類のインクルード エラー ( などinclude(CFCredentials.php): failed to open stream: No such file or directory
) が発生します。
クラス名はファイル名と一致しなければならないというYiiの仮定に関連している可能性があると思います...
私たちは何ができる??
Yii プロジェクトで Amazon AWS SDK for PHP を使用したいのですが、あらゆる種類のインクルード エラー ( など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();
誰かがこの問題に遭遇した場合に備えて、私は、PHAR ファイルを直接使用し (決定が下手だと私は知っています)、require_once を介してインポートしている場合、SDK 呼び出しが完了するまで、spl_autoload_register を呼び出して YiiBase 自動ロードを再度追加することはできないことを発見しました。 .
少なくとも、これは StsClient を使用して IAM ロールでロールを引き受ける場合のケースでした。
これはより簡単な方法です。Yii S3 Upload 拡張機能を使用できます。