Процесс настройки состоял из следующих шагов:
- Раньше я случайно удалил файл data.sqlite в каталоге базы данных, поэтому заменил его новым data.sqlite< /code> и запустил для него chmod 776. Этот файл хранится в каталоге базы данных в конфигурации каталога Laravel по умолчанию. Я прекрасно понимаю, что открывать такие разрешения — плохая идея, но поскольку это сервер разработки, где во время тестирования что-то обычно ломается, все в порядке. Я планировал изменить его разрешения, прежде чем отправлять его в производство.
- Я также предоставил каталогу базы данных разрешения chmod 776.
- .env был настроен соответствующим образом, и я установил путь к файлу sqlite как /var/www/sites/website.com/database/database.sqlite.
< li>Я выполнил миграцию с помощью php artisan мигрировать. Никаких проблем. При миграции использовалась таблица кэша Laravel по умолчанию.
Вот соответствующий файл .env и config/database.php. разделы кода соответственно. Они могут быть полезны при отладке.
Код: Выделить всё
.env
Код: Выделить всё
DB_CONNECTION=sqlite_cache
DB_DATABASE=/var/www/sites/website.com/database/database.sqlite
CACHE_STORE=database
DB_CACHE_CONNECTION=sqlite_cache
DB_CACHE_TABLE=cache
DB_CACHE_LOCK_CONNECTION=sqlite_cache
DB_CACHE_LOCK_TABLE=cache_locks
Код: Выделить всё
config/database.php
Код: Выделить всё
'sqlite_cache' => [
'driver' => 'sqlite',
'url' => env('DB_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
'busy_timeout' => null,
'journal_mode' => null,
'synchronous' => null,
],
Что я пробовал: Действия, описанные выше.
Что я могу сделать? ожидалось: приложение работает нормально, поскольку команды php artisanmigration выполнялись нормально.
Что произошло на самом деле: приложению не удалось найти расположение базы данных sqlite, даже несмотря на то, что php artisanmigrate и связанные с ней команды работали просто отлично.
Подробнее здесь: https://stackoverflow.com/questions/792 ... qlite-does