Предупреждение: требуется (…): не удалось открыть поток: нет такого файла или каталога в

только что перешел через мой сайт Laravel на мой живой сервер и сразу же столкнулся с этой ошибкой.

Полная ошибка:

Warning: require(/var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/autoload.php on line 17

Fatal error: require(): Failed opening required '/var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/sites/b/beta.buildsanctuary.com/public_html/local/bootstrap/autoload.php on line 17

Строка 17:

требовать DIR.’/../Vendor/autoload.php’;

Структура папок:

beta.buildsanctuary.com
-- public_html
-- subdomains
-- beta
-- local
-- bootstrap
-- vendor

Любая помощь, где это идет не так? И как исправить? Вытаскивая мои волосы, пробуя всевозможные пути.

Спасибо, Крейг.

4

Решение

Как вы можете видеть из ошибки, PHP ищет

public_html/local/bootstrap/../vendor/autoload.php`

который

public_html/local/vendor/autoload.php

Эта папка не существует. Я думаю, что структура папок, которую вы разместили, неверна.

В любом случае, попробуйте это:

require('../vendor/autoload.php');
3

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

У меня была такая же проблема, и это было то, что Composer еще не был установлен на сервере, поэтому структура каталогов, которую он создает в вашем проекте, также не существует.

Сначала вы должны установить composer на вашем сервере, следуйте инструкциям для вашей системы, приведенным на веб-странице проекта composer, https://getcomposer.org/.

Далее вы должны зайти в терминал или cmd в базовую папку вашего проекта.

Там вы можете использовать командную строку composer init, которая поможет вам создать файл composer.json в вашем проекте.

После того как вы создали файл composer.json, вы должны выполнить установку composer из командной строки.

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

Наконец, вам нужно сослаться на перенаправление на поставщика папки в зависимости от текущего расположения структуры папки вашего php-файла.

Если вы ищете информацию, http://www.phptherightway.com/ было действительно полезно.

2

Я твердо верю, что причиной был испорченный кеш, я не могу быть уверен на 100%, но кажется, что это, вероятно, виновник.

Итак, если кто-то сталкивался с подобной проблемой, я бы предложил следующие шаги:

  1. Удалить папку поставщика
  2. Удалить composer.lock
  3. Запустите команду composer clearcache (или clear-cache)
  4. Запустите установку композитора

Я надеюсь, что это может кому-то помочь.

2

Просто запустите следующую команду, она автоматически установит необходимые зависимости:

композитор установить

0

У меня была такая же проблема, когда я перенес веб-сайт drupal на новый сервер …
Чтобы решить проблему, я просто использовал команду composer:

  1. Первый компакт-диск в каталог веб-сайта, EX:
    cd /var/www/your_website

  2. Запустите composer для установки зависимостей drupal 8, которые ему нужны, в каталог сайта;

composer install

Если вы используете команду sudo, убедитесь, что .../vendor каталог имеет право доступа к пользователю, который в /var/wwwкаталог;

sudo composer install

Это в основном решит .../public_html/autoload.php on line 14 Вопрос!

0
По вопросам рекламы [email protected]