我尝试同时使用ez Components和AWS PHP SDK。
我有一个名为resize.php的文件,它只是处理使用ez Components ImageTransition工具调整图像大小。
我将图像排队以在Amazon AWS SQS中调整大小。如果我在同一个文件中加载AWS PHP SDK和ez Components,PHP总是抱怨没有找到ez Components类。
代码看起来像这样:
amazonSQS.php:
require 'modules/resize.php';
require 'modules/aws/sdk.class.php';
$sqs = new AmazonSQS();
$response = $sqs->send_message($queue_url, $message);
resize.php:
function resize_image($filename) {
$settings = new ezcImageConverterSettings(
array(
//new ezcImageHandlerSettings( 'GD', 'ezcImageGdHandler' ),
new ezcImageHandlerSettings( 'ImageMagick', 'ezcImageImagemagickHandler' ),
)
);
错误讯息:
Fatal error: Class 'ezcImageConverterSettings' not found in /home/www.com/public_html/modules/resize.php on line 10
如果我从另一个没有包含AWS的PHP文件中调用resize.php,它可以正常工作。
我像这样加载ezComponents:
require 'ezc/Base/ezc_bootstrap.php';
它作为PEAR包安装。
有人在想吗?
答案 0 :(得分:0)
可以在PHP脚本中方便地使用Apache Zeta / eZ组件的PHP类。您不必对您使用的任何Apache Zeta Components类使用任何require或include语句,这是因为集成的自动加载机制可以在您实例化时为您定位类,否则就会使用它们。
有三种不同的方法可以实现自动加载机制: