веб-сервисы Amazon — фатальная ошибка: require (): не удалось открыть обязательный файл ‘C: \ wamp \ www \ sep24 \ e / src / functions.php’ (include_path = ‘.; C: \ php \ pear’)

Пытался запустить программу trans.php с wamp сервера с пути

C: \ WAMP \ WWW \ sep24 \ е \ trans.php

Я включил папку AWS в

C: \ WAMP \ WWW \ sep24 \ е \ Амазонка \

И файл учетных данных AWS в папке wamp / www, а также каталог пользователя для доступа

C: \ WAMP \ WWW \ .aws \ учетные данные & C: \ Users \ имя пользователя \ .aws \ учетные данные

Это моя программа

<?php
define('ROOT', dirname(__FILE__));
require ROOT . '/vendor/autoload.php';
use Amazon\Aws\ElasticTranscoder\ElasticTranscoderClient;

-------------
------------

// no error here.
?>

Когда я пытаюсь запустить программу, я получаю эту ошибку

Неустранимая ошибка: require (): Не удалось открыть обязательный файл ‘C: \ wamp \ www \ sep24 \ e / src / functions.php’ (include_path = ‘; C: \ php \ pear’) в C: \ wamp \ www \ sep24 \ e \ vendor \ composer \ autoload_real.php в строке 54

Я включил все пакеты AWS, которые я скачал с Git.

Какие изменения я должен сделать?

3

Решение

Используйте композитора.

Создайте каталог testaws и поместите файл composer.json с содержимым ниже (вы можете настроить его под свои нужды, например, версию PHP или пакеты dev)

{
"name": "yourname/sampleapp",
"description": "Sample app",
"require": {
"php": ">=5.5.0",
"aws/aws-sdk-php" :  "dev-master"},
}

бежать composer install

затем в index.php в testaws каталог положить эту строку в index.php

require __DIR__ . '/vendor/autoload.php';

После того, как вы выполните эти шаги, он должен работать. Подробнее о композиторе вы найдете там

Также вы можете найти образец проекта Вот

0

Другие решения

Есть две основные проблемы:

1 Композитор Автозагрузка

Зависимость AWS должна быть загружена с помощью Composer,
если вы хотите, чтобы Composer Autoloader работал правильно.
Не перемещайте папки при работе с Composer.
Автозагрузка ожидает файлы и папки внутри папки производителя.

Я включил все пакеты AWS, которые я скачал с Git.

Вам не нужно делать это вручную.

2 use утверждение неверно.

+ Изменить use Amazon\Aws\ElasticTranscoder\ElasticTranscoderClient;

в use \Aws\ElasticTranscoder\ElasticTranscoderClient;

3 Пример применения

Поскольку это ваш третий вопрос, и у вас, похоже, есть проблемы со структурой приложения в связи с Composer, я предоставлю простой шаблон приложения PHP, чтобы продемонстрировать, как вы работаете с зависимостью AWS.

Этот пример предоставляет базовое PHP-приложение с пространством имен и включает класс Client из зависимости AWS (которую вы должны получить из Composer).

Вы найдете файл здесь:
https://www.dropbox.com/s/q1b406thgu3146n/php-app-composer-aws.zip?dl=0

Распакуйте тестовую папку в вашу папку www.
Затем выполните composer install и беги index.php,
В результате вы получите ошибку от TranscoderClient, так как он ожидает настройки. Не часть проблемы.

1

Удалите папку vendors и запустите установку composer.

0