Я сделал небольшой проект в Laravel, используя MAMP, и все работает отлично.
Теперь я хотел бы вывести проект в онлайн.
Я скопировал проект с FTP и изменил файл database.php.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'private.be.mysql'),
'database' => env('DB_DATABASE', 'private_be'),
'username' => env('DB_USERNAME', 'private_be'),
'password' => env('DB_PASSWORD', 'private'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Установка отлично работает при посещении сайта, но при посещении страницы, которая использует подключение к базе данных, я получаю следующую ошибку.
SQLSTATE[42S02]: Base table or view not found:
1146 Table 'private_be.users' doesn't exist (SQL: select * from `users`)
Итак, я узнал, что забыл перенести свой проект. Но при вводе команды ‘php artisan migrate’ я получаю следующую ошибку в терминале.
[ErrorException]
PDO::__construct(): php_network_getaddresses: getaddrinfo failed: nodename
nor servname provided, or not known
Сначала я подумал, что, возможно, мои настройки для «mysql» были неправильными, но я уверен, что это так.
Мой файл .env выглядит так
APP_ENV=local
APP_DEBUG=true
APP_KEY=***
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Кто-нибудь, кто может помочь мне исправить ошибку переноса?
Похоже, вы не запустили миграцию базы данных.
После того, как вы переместили файлы, выполнили ли вы SSH на сервере, перейдите в каталог вашего проекта и выполните команду
php ремесленник мигрировать
Выполнение вышеуказанной команды создаст все таблицы базы данных, для которых вы создали миграции. Если у вас уже есть данные, которые нужно откатить сначала, а затем восстановить, вы можете использовать:
php ремесленник мигрировать: обновить
Других решений пока нет …