Laravel vendor autoload php failed to open stream no such file or directory in

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-скриптами.

Читайте также:  Java http multipart parse

Ответ 2

Если вы получите ошибку также при запуске

Сначала запустите эту команду

Эта команда очистит все скомпилированные файлы и их пути.

Ответ 3

@Башир почти помог мне, но мне нужно:

composer update --no-scripts 

Ответ 4

Сначала убедитесь, что вы установили композитор.

Если вы уже установили, обновите композитор.

Ответ 5

Правильная конфигурация autoload.php :

A) Быстрый ответ:

Неверный путь autoload.php. то есть. C:\Windows\SysWOW64\vendor\autoload.php На сегодняшний день вам необходимо изменить его на: C:\Users\\vendor\autoload.php

B) Шаги с примером: в качестве примера возьмем facebook/php-graph-sdk; при необходимости измените Package Name .

pMPhg.png

  1. Установить композитор.exe
  2. Откройте CMD Prompt. + R + тип CMD
  3. Выполнение этой команды: для composer require facebook/graph-sdk
  4. Включить путь на странице PHP: require_once ‘C:\Users\\vendor\autoload.php’;
  5. Определите конфигурацию Secrets и Access Token для вашего пакета. и т.д.
  6. Счастливый codinig.

C) Дополнительная информация:

Установка композитора в Windows устанавливает этот путь по умолчанию для ваших pacakges; вы можете найти их там и включить путь автозагрузчика:

По тому же вопросу вы спросили; ответом был этот путь для WAMP Server 64 BIT для Windows.

Затем просто в вашем приложении PHP измените это:

require_once __DIR__ . '/vendor/autoload.php'; 
require_once 'C:\Users\\vendor\autoload.php'; 

Прежде всего, как указано выше в B), вам нужно запустить эту команду:

для 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. 

Эта ошибка связана с тем, что ваш путь слишком длинный, я изменил на:

Ответ 7

Если вы клонировали свой проект из Github или получили его откуда-то еще, вы столкнетесь с этой ошибкой. Это потому, что вам не хватает папки продавца и других файлов. Папка vendor содержит пакеты, которые зависят от вашего проекта. Зависимости пакета хранятся в файле composer.json и папка была исключена при загрузке в Github.

Исправьте эту ошибку, просто запустив:

Тогда вы получите все активы, необходимые для вашего проекта.

Ответ 8

запустить composer update . Это

Читайте также:  Time variable in python

Ответ 9

Я смог решить, удалив композитора и переустановить правильный путь. Вот что я сделал:

  • sudo apt удалить композитор
  • sudo apt autoclean && sudo apt autoremove
  • Устанавливается глобально с инструкциями из: https://getcomposer.org/doc/00-intro.md Загрузить с: https://getcomposer.org/installer global install: mv composer.phar/usr/local/bin/composer ( Примечание: мне пришлось переместить мой в mv composer.phar/usr/bin/composer)

Затем я смог снова установить композитор. Нашел мой ответ внизу этой проблемы: 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.. тогда ваша проблема будет решена.

Читайте также:  Пример 2

Источник

Laravel не создается папка Vendor и нет возможности работать с новым проектом. Ошибка Artisan. Что делать?

(Windows) Создаю новый проект на Larevel 8 в папке с сайтами. После чего ввожу команду
composer create-project laravel/laravel NEW_NAME
NEW_NAME — имя проекта.

После чего в консоле выкидает

Your requirements could not be resolved to an installable set of packages. Problem 1 - laravel/framework[v8.12.0, . 8.x-dev] require league/flysystem ^1.1 -> satisfiable by league/flysystem[1.1.0, . 1.x-dev]. - league/flysystem[1.1.0, . 1.x-dev] require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension. - Root composer.json requires laravel/framework ^8.12 -> satisfiable by laravel/framework[v8.12.0, . 8.x-dev]. To enable extensions, verify that they are enabled in your .ini files: - C:\Program Files\PHP\php-7.4.11\php.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

и в итоге ничего не работает. Если вводить PHP ARTISAN выдается ошибка.

PS D:\openserver\ospanel\domains\shop> php artisan serve PHP Warning: require(D:\OpenServer\OSPanel\domains\shop/vendor/autoload.php): failed to open stream: No such file or directory in D:\OpenServer\OSP anel\domains\shop\artisan on line 18 Warning: require(D:\OpenServer\OSPanel\domains\shop/vendor/autoload.php): failed to open stream: No such file or directory in D:\OpenServer\OSPanel\ domains\shop\artisan on line 18 PHP Fatal error: require(): Failed opening required 'D:\OpenServer\OSPanel\domains\shop/vendor/autoload.php' (include_path='.;C:\php\pear') in D:\O penServer\OSPanel\domains\shop\artisan on line 18 Fatal error: require(): Failed opening required 'D:\OpenServer\OSPanel\domains\shop/vendor/autoload.php' (include_path='.;C:\php\pear') in D:\OpenSe rver\OSPanel\domains\shop\artisan on line 18

При том что старый проект работает корректно, тоже на laravel 8. Если со старого проекта перекинуть папку VENDOR, то новый проект тоже работает. То есть не создается папка Vendor.

Я уже не понимаю что делать)
Вроде все перепробовал. Смотрел файл php.ini , там все корректно, т.к. если была бы ошибка, то не работал бы старый проект.

Простой 10 комментариев

Источник

Оцените статью