require (vendor/autoload.php): не удалось открыть поток
Я знаю, что этот вопрос был опубликован много раз, но для меня это, кажется, другая проблема.
Действительно, эта ошибка
Предупреждение: require (vendor/autoload.php): не удалось открыть поток: нет такого файла или каталога в C:\xampp\htdocs\site_web\send_mail.php в строке 3
Неустранимая ошибка: require(): для неудачного открытия требуется "vendor/autoload.php" (include_path = 'C:\xampp\php\PEAR') в C:\xampp\htdocs\site_web\send_mail.php в строке 3
появляется в начале моего кода из этой строки:
require 'vendor/autoload.php';
Таким образом, я предполагаю, что файл /vendor/autoload.php должен быть где-то на моем компьютере (я установил композитор и composer require phpmailer/phpmailer
).
Итак, я искал этот файл, используя: dir/s autoload.php
в командной строке Windows и нашел его здесь: C:\Windows\SysWOW64\vendor\autoload.php
,
но для меня папка syswow64 не имеет ничего общего с autoload.php, я не вижу, чего здесь не хватает.
Ответы
Ответ 1
Вам не хватает composer install
, которая импортирует ваши пакеты и создаст папку vendor вместе со скриптом автозагрузки.
Убедитесь, что ваш относительный путь правильный. Например, примеры сценариев в PHPMailer находятся в examples/
, под корнем проекта, поэтому правильный относительный путь для загрузки автозагрузчика ../vendor/autoload.php
оттуда будет ../vendor/autoload.php
.
C:\Windows\SysWOW64\vendor\autoload.php
вы нашли в C:\Windows\SysWOW64\vendor\autoload.php
вероятно, является глобальной установкой композитора, куда вы обычно помещаете такие вещи, как phpcs, phpunit, phpmd и т.д.
composer update
- это не то же самое, и, вероятно, не то, что вы хотите использовать - если ваш код тестируется с вашими текущими версиями пакета, то запуск update
может вызвать сбои, которые могут потребовать дальнейшей работы и тестирования, поэтому не запускайте update
если у вас нет конкретная причина. Чтобы уточнить далее - вы, вероятно, должны запускать composer update
локально, но не на своем сервере.
Я часто вижу жалобы на то, что люди не могут использовать composer, потому что они не могут запустить его на своем сервере (например, потому что он используется совместно и у них нет доступа к оболочке). В этом случае вы все равно можете использовать composer: запустить его локально (среда, в которой нет таких ограничений) и загрузить локальную папку вендора, которую он генерирует вместе со всеми другими вашими PHP-скриптами.
Ответ 2
Если вы получите ошибку также при запуске
composer install
Сначала запустите эту команду
composer dump-autoload
Эта команда очистит все скомпилированные файлы и их пути.
Ответ 3
@Башир почти помог мне, но мне нужно:
composer update --no-scripts
Я нашел ответ здесь: https://laracasts.com/discuss/channels/general-discussion/fatal-error-class-illuminatefoundationapplication-not-found-in-pathtoprojectbootstrapappphp-onlineline?page=0
Ответ 4
Сначала убедитесь, что вы установили композитор.
composer install
Если вы уже установили, обновите композитор.
composer update
Ответ 5
Правильная конфигурация autoload.php
:
A) Быстрый ответ:
Неверный путь autoload.php. то есть. C:\Windows\SysWOW64\vendor\autoload.php
На сегодняшний день вам необходимо изменить его на: C:\Users\<Windows User Name>\vendor\autoload.php
B) Шаги с примером: в качестве примера возьмем facebook/php-graph-sdk; при необходимости измените Package Name
.
- Установить композитор.exe
- Откройте CMD Prompt. + R + тип
CMD
- Выполнение этой команды: для
composer require facebook/graph-sdk
- Включить путь на странице PHP:
require_once 'C:\Users\<Windows User Name>\vendor\autoload.php';
- Определите конфигурацию
Secrets
и Access Token
для вашего пакета... и т.д. - Счастливый codinig.
C) Дополнительная информация:
Установка композитора в Windows устанавливает этот путь по умолчанию для ваших pacakges; вы можете найти их там и включить путь автозагрузчика:
C:\Users\<Windows User Name>\vendor
По тому же вопросу вы спросили; ответом был этот путь для WAMP Server 64 BIT для Windows.
Затем просто в вашем приложении PHP измените это:
require_once __DIR__ . '/vendor/autoload.php';
Для того, чтобы:
require_once 'C:\Users\<Windows User Name>\vendor\autoload.php';
Найдите имя пользователя Windows в разделе C:\Users\
Прежде всего, как указано выше в B), вам нужно запустить эту команду:
composer require <package name>
для facebook php SDK, например:
composer require facebook/graph-sdk
Спасибо, что задали этот вопрос;оценил, поскольку это помогло мне исправить аналогичную проблему и закончил писать этот простой учебник.
Ответ 6
У меня был этот путь в моей машине:
C:/xampp5.0/htdocs/project-recordando-symfony/project-recordando-symfony
Затем я запустил composer install
и/или composer update
и она вернула эту ошибку:
ErrorException ZipArchive::extractTo...
Эта ошибка связана с тем, что ваш путь слишком длинный, я изменил на:
C:/xampp5.0/htdocs/p-symfony/*
и работает!
Ответ 7
Если вы клонировали свой проект из Github или получили его откуда-то еще, вы столкнетесь с этой ошибкой. Это потому, что вам не хватает папки продавца и других файлов. Папка vendor содержит пакеты, которые зависят от вашего проекта. Зависимости пакета хранятся в файле composer.json
и папка была исключена при загрузке в Github.
Исправьте эту ошибку, просто запустив:
composer install
Тогда вы получите все активы, необходимые для вашего проекта.
Ответ 8
запустить composer update
. Это
Ответ 9
Я смог решить, удалив композитора и переустановить правильный путь. Вот что я сделал:
Затем я смог снова установить композитор. Нашел мой ответ внизу этой проблемы: https://github.com/composer/composer/issues/5510
Ответ 10
Во-первых, просмотрите маршрут внутри index.php
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
в моем случае маршрут не работал, мне пришлось просмотреть каталоги.
Ответ 11
Эта проблема произошла со мной, когда я клонирую проекты из git и хочу запустить в первый раз. Я запустил composer install
в каталоге и его работу для меня.
Ответ 12
В папке вашего проекта отсутствует папка vendor, поэтому вы получили эту ошибку:
Предупреждение: требуется (vendor/autoload.php): не удалось открыть поток: нет такого файла или каталога в
Когда вы загружаете проект через git, проект загружается без папки vendor
Вам нужен /vendor
потому что там есть все ваши пакеты, включая все классы, которые использует Laravel. Каталог vendor содержит ваши зависимости Composer.
Решение простое, просто запустите эту команду:
composer update --no-scripts
composer update
-
composer update --no-scripts
Пропускает выполнение скриптов, определенных в файле composer.json
. -
composer update
composer Обновит ваши зависимости, как они указаны в файле composer.json
.
С помощью этой команды вы заново создадите папку vendor в своем проекте, после чего ваш проект начнет работать нормально.
Ответ 13
Измените свойство auto_prepend_file на php.ini
; Automatically add files before PHP document.
;http://php.net/auto-prepend-file
auto_prepend_file =
Ответ 14
Только это: композитор требует symfony/finder
Ответ 15
*** PHP Предупреждение: require_once (C:\xampp\htdocs\test1/bootstrap/app.php): не удалось открыть поток: нет такого файла или каталога в C:\xampp\htdocs\test1\artisan в строке 20 Предупреждение: require_once (C:\xampp\htdocs\test1/bootstrap/app.php): не удалось открыть поток: нет такого файла или каталога в C:\xampp\htdocs\test1\artisan в строке 20 PHP Неустранимая ошибка: require_once(): Не удалось открыть окно "C:\xampp\htdocs\test1/bootstrap/app.php" (include_path = 'C:\xampp\php\PEAR') в C:\xampp\htdocs\test1\artisan в строке 20
Неустранимая ошибка: require_once(): Не удалось выполнить открытие: C:\xampp\htdocs\test1/bootstrap/app.php '(include_path =' C:\xampp\php\PEAR ') в C:\xampp\htdocs\test1\ремесленник на линии 20 ***
Эта проблема из-за отсутствия загрузочного файла в папке проекта. Эта проблема не может быть исправлена с помощью переустановки или обновления композитора.. вы можете исправить, используя: если у вас есть другой доступ к проекту, просто откройте этот проект и скопируйте папку с файлом начальной загрузки и например, у вас есть недостающая папка проекта: у меня есть два теста проекта 1 и тест 2 (вы можете создать свой проект, используя cmd => тест-проект laravel/laravel для композитора 1) теперь перейдите к атому и откройте тест проекта 1 и проверьте 2. эта ошибка возникает в тесте 1, вы можете просто скопировать файл начальной загрузки из теста 2 и прошлого, чтобы протестировать изменения 1.save.. затем перейдите в cmd, просто введите php artisan serve.. тогда ваша проблема будет решена.