【问题标题】:Fatal error: Class 'Aws\ElasticTranscoder\ElasticTranscoderClient' not found in C:\wamp\www\sep24\et\s\wr.php on line 5致命错误:在第 5 行的 C:\wamp\www\sep24\et\s\wr.php 中找不到类 'Aws\ElasticTranscoder\ElasticTranscoderClient'
【发布时间】:2015-09-24 06:21:16
【问题描述】:

尝试从 et/s/wr.php 运行弹性转换器 php 代码。 wr.php 包含 php 转码器代码。这是我的代码。

<?php
require 'vendor/autoload.php';
use Aws\ElasticTranscoder\ElasticTranscoderClient;
-------------
------------

?>

这是我从 loaclhost 运行时的错误。

致命错误:在第 5 行的 C:\wamp\www\sep24\et\s\wr.php 中找不到类 'Aws\ElasticTranscoder\ElasticTranscoderClient'

那么应该怎么做..?需要帮助.. 是的,我已经包含了我从 GIT 下载的 AWS 文件夹。

【问题讨论】:

  • 你在使用任何php框架还是这个核心php代码..??
  • 从 wamp localhost 运行,这是唯一的 php 代码。
  • 那么你在哪里包含了 ElasticTranscoderClient.php 文件?
  • AWs 包->C:\wamp\www\sep24\et\Aws\ElasticTranscoder\ElasticTranscoder.php {我的 php 代码->C:\wamp\www\sep24\et\wr.php }
  • 但是你还没有在 wr.php 中包含这个文件。尝试使用 将其包含在内,并在stackoverflow.com/questions/10965454/… 处阅读答案,这可能会对您有所帮助。

标签: php amazon-web-services amazon-s3 amazon-elastic-transcoder


【解决方案1】:

试试下面的代码

<?php
require_once("path_to_ElasticTranscoderClient_file");
use Aws\ElasticTranscoder\ElasticTranscoderClient; 
$elasticTranscoder = ElasticTranscoderClient::factory(array(
.....
.....
?>

或用户 composer 自动加载此文件。

【讨论】:

  • 现在我收到这样的错误。 {致命错误:在第 10 行的 C:\wamp\www\sep24\et\Aws\ElasticTranscoder\ElasticTranscoderClient.php 中找不到类 'Aws\AwsClient'}
  • 你把Aws文件夹放好了吗。它应该位于et 文件夹的根目录
  • 如果我从 require_once 中删除 .php。我收到这样的错误... {致命错误:require_once():在 C:\wamp\www\ 中打开所需的 'Aws\ElasticTranscoder\ElasticTranscoderClient' (include_path='.;C:\php\pear') 失败第 3 行的 sep24\et\wr.php} 是的,我已正确包含它
【解决方案2】:

如果你通过 Composer 获取包,那么你会发现

  • (a) 您在供应商文件夹中的包 (vendor\aws\aws-sdk-php\src\ElasticTranscoder) 和
  • (b) 供应商文件夹顶层的自动加载文件,名为 autoload.php

您需要加载此文件。这将为它安装的所有类启用 Composer Autoloader。

<?php
require 'vendor/autoload.php';

或使用您的代码:

<?php
require 'vendor/autoload.php';

use Aws\ElasticTranscoder\ElasticTranscoderClient;

$elasticTranscoder = ElasticTranscoderClient::factory($options);

可能是文件夹错误。让我们定义根文件夹并在此基础上要求自动加载器:

define('ROOT', dirname(__FILE__));
require ROOT . '/vendor/autoload.php';

这是一个简单的包含路径问题。

【讨论】:

  • 我做到了。但仍然得到同样的错误。我也会编辑问题。
  • 可能是../vendor/autoload.php,因为你在et/s。所以它向上一层,然后向下到供应商文件夹。
  • 没有解决问题,但我没有使用作曲家,而是包含了 aws-autoloader.php。它解决了那个错误。 AWS PHP SDK 中的第三种方法。它造成了另一个错误.. :-) 但是谢谢你。调查它。如果我找不到任何解决方案,将发布错误。
  • 安装手册总是一个很好的讲座:D很高兴你解决了它。
猜你喜欢
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多