Amazon 开发工具包覆盖自动加载器


Amazon SDK overrides autoloader

似乎适用于PHP的AWS 开发工具包覆盖了__autoload()函数。包含 AWS 开发工具包后,找不到未声明的类。

require_once( "AWSSDKforPHP/aws.phar" );
new ClassA();

ClassA() 存在于我的 __autoload() 函数中,但上面的代码给出了下面的错误。

致命错误:在第 2 行的/path/classa.php 中找不到类"A"

删除require_once("AWSSDKforPHP/aws.phar"); 不会给我这个错误。这是我通过PEAR安装的SDK:https://github.com/aws/aws-sdk-php有解决方案吗?

之后

require_once( "AWSSDKforPHP/aws.phar" );

将自动加载程序重置回 spl_autoload ,然后使用 spl_autoload_register 添加 AWS 自动加载程序

require_once( "AWSSDKforPHP/aws.phar" );
__autoload('spl_autoload');
spl_autoload_register(/* whatever you find AWS registers */);

你永远不应该使用__autoload() .您应该始终始终使用spl_autoload_register()因为它是可堆叠的。