Почему я не могу просмотреть этот laravel проект? - PullRequest
2 голосов
/ 28 марта 2020

По общему признанию, я новичок в Laravel и серверной разработке, но я пытаюсь открыть проект Laravel в своем браузере и вместо этого получаю сообщение об ошибке. Я унаследовал этот проект от клиента, который работал с другой группой разработчиков, и с тех пор они пошли в самоволку, поэтому я сам по себе попытаюсь выяснить, в чем здесь проблема.

Первая ошибка сообщения были:

**Warning:** require(C:\xampp\htdocs\vizzue\bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in **C:\xampp\htdocs\vizzue\bootstrap\autoload.php** on line **17**

**Fatal error:** require():Failed opening required 'C:\xampp\htdocs\vizzue\bootstrap/../vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in **C:\xampp\htdocs\vizzue\bootstrap\autoload.php** on line **17**

Чтобы попытаться исправить эту ошибку (из решения, которое я нашел здесь), я запустил composer install в терминале, чтобы попытаться загрузить отсутствующие файлы. Это переключило предыдущие сообщения об ошибках на Whoops, looks like something went wrong. (не очень полезно).

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

Заголовок 1

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `sessions` where `id` = hA02gV6ShpNslkw0N8Wrgm8QmyA0ZxoXfCNHsVTK limit 1)

Заголовок 2

PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

Заголовок 3

QueryException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from `sessions` where `id` = hA02gV6ShpNslkw0N8Wrgm8QmyA0ZxoXfCNHsVTK limit 1)

Заголовок 4

PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

Моя PHP версия: PHP 7.2.28

Моя Laravel версия: Laravel Framework 5.4.36

Кроме того, я создал .env с помощью копирование файла .env-example.

РЕДАКТИРОВАТЬ:

Я нашел информацию о базе данных в каталоге database/migrations, поэтому у меня действительно есть файлы базы данных. У меня все еще есть ошибка, как бы то ни было. Я побежал php artisan generate:key, и это было нормально. Но когда я запустил php artisan migrate, я получил следующую ошибку:

In Connection.php line 647:

  could not find driver (SQL: select * from information_schema.tables where ta   
  ble_schema = homestead and table_name = migrations)


In Connector.php line 68:

  could not find driver

Ответы [ 3 ]

1 голос
/ 28 марта 2020

сначала измените имя .env.example на .env, затем настройте параметры имен баз данных в нем. после этого запустите composer install, чтобы установить зависимости вашего проекта. убедитесь, что ваш веб-сервер запущен и работает

1 голос
/ 29 марта 2020

Вот базовый c процесс установки для laravel проекта. Я постараюсь объяснить каждый из них, чтобы вы могли самостоятельно определить свои ошибки.

  • Получение исходного кода

Сначала вам нужно чтобы получить исходный код вашего приложения. Большую часть времени это делается через git. Например, вам нужно будет набрать git clone https://github.com/miracuthbert/saas-boilerplate.git yoursaasproject, чтобы клонировать репозиторий, размещенный на github здесь

  • Установить зависимости

    Go для root каталога исходного кода, который вы ранее получили, набрав cd projectname. Каркас laravel использует composer в качестве менеджера зависимостей. Так что вам нужно установить его. (Что вы уже сделали) Затем из root вашего проекта введите следующие инструкции в том же порядке:

    composer install

    composer update

  • Конфигурация среды

Переменные среды среды laravel управляются через файл dot env. Пример файла с именем .env.example обычно предоставляется. Вы найдете его в root в папке вашего проекта. Предполагая, что вы используете терминал с приглашением bash, введите следующую команду, чтобы скопировать .env.example в файл .env:

cp .env.example .env

После получения нового. env file, введите

php artisan key:generate

, чтобы сгенерировать безопасный ключ в вашем файле .env

В зависимости от типа системы управления базами данных, которую вы намереваетесь использовать, вот некоторые укажите c конфигурации для добавления в ваш файл .env:

  • MySQL

Если вы выберете MySQL в качестве СУБД, установите следующие значения в вашей .env файл:

     DB_CONNECTION


     DB_DATABASE


     DB_USERNAME  


     DB_PASSWORD

усадьба - это DB_USERNAME по умолчанию, а localhost - хост базы данных по умолчанию. Localhost полностью подходит для локальной работы, но вам нужно изменить имя DB_USERNAME на реального пользователя вашей СУБД с соответствующим паролем.

  • Sqlite

Если вы используете sqlite, создайте новую базу данных sqlite, набрав:

`touch database/database.sqlite`

После настройки базы данных введите следующую команду для создания и заполнения таблиц: php artisan migrate --seed

Возможно, вам также понадобится изменить другие переменные в .env. Официальная документация laravel - ваш лучший компаньон для этого. Насколько я знаю, это то, что вам нужно сделать.

Что касается ошибки драйвера, вот несколько потенциальных решений, адаптированных из ответа на аналогичный вопрос, задаваемый здесь :

Обязательно настройте ключ «по умолчанию» в app / config / database. php

Для mysql это будет «default» => 'mysql',

Если вы получаете [PDOException] не удалось найти ошибку драйвера, проверьте, установлены ли правильные расширения PHP. Вам нужно установить и включить pdo_ mysql .so и mysql .so. Инструкции о том, как это сделать, различаются в разных операционных системах.

Для Windows расширения mysql должны быть предварительно загружены с официальным дистрибутивом PHP. Просто отредактируйте php .ini и раскомментируйте расширение строк = pdo_ mysql .so и расширение = mysql .so

Кроме того, в php .ini убедитесь, что для extension_dir установлено значение правильный каталог. Это должна быть папка extensions или ext или аналогичная внутри вашей директории PHP install.

В исходном ответе есть другие инструкции, но я рекомендую только те, которые я понимаю. Первоначально он был написан для postgres дБмс.

Если проблемы все еще существуют, взгляните на laragon . Это немного похоже на xamp (который вы, похоже, используете в ОС windows), но более мощный и простой в использовании. Основные языки и фреймворки можно легко настроить за несколько минут. Это включает в себя php с laravel / symfony, ruby и Ruby на Rails, python и Django. Это позволяет вам управлять несколькими версиями одного и того же языка программирования без каких-либо хлопот и является полностью расширяемым. Если вы новичок в Laravel или бэкэнд-разработке и работаете в операционной системе windows, это обязательно должно быть.

1 голос
/ 28 марта 2020

Вам необходимо настроить файл .env, чтобы разрешить laravel доступ к вашей базе данных. Если у вас его нет, просто скопируйте файл .env.example и переименуйте его в .env.

И затем измените следующие свойства:

DB_DATABASE = YOUR_DATABASE_NAME

DB_USERNAME = USER_NAME

DB_PASSWORD = ПАРОЛЬ

, и тогда вам следует запустите php artisan key:generate, чтобы сгенерировать новый ключ шифрования

РЕДАКТИРОВАТЬ

Для вашей новой проблемы вы должны запустить composer update, а затем composer require doctrine/dbal

если это не сработает

В вашем файле php .ini вам может понадобиться закомментировать следующее.

;extension=pdo_mysql.so

Как сказано здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...