0

我尝试同时使用 ez Components 和 AWS PHP SDK。

我有一个名为 resize.php 的文件,它只是使用 ez Components ImageTransition 工具处理调整图像大小。

我将图像排队以在 Amazon AWS SQS 中调整大小。如果我在同一个文件中加载 AWS PHP 开发工具包和 ez 组件,PHP 总是抱怨找不到 ez 组件类。

代码看起来像这样:

amazonSQS.php:

require 'modules/resize.php';
require 'modules/aws/sdk.class.php';

$sqs = new AmazonSQS();
$response = $sqs->send_message($queue_url, $message);

调整大小.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 包安装。

有人知道吗?

4

1 回答 1

0

可以在您的 PHP 脚本中方便地使用 Apache Zeta / eZ 组件的 PHP 类。您不必对您使用的任何 Apache Zeta 组件类使用任何 require 或 include 语句,这是因为集成的自动加载机制可以在您实例化或以其他方式使用它们时为您定位这些类。

有三种不同的方式来启动自动加载机制:

  • 正常自动加载,如果您需要自定义自动加载功能
  • 引导文件,如果您只使用 Apache Zeta 自动加载
  • SPL自动加载,如果你需要注册几个自动加载功能

这 3 种方式在此处完整记录

于 2011-01-12T13:51:02.493 回答