Код: Выделить всё
try {
\Log::debug("message Starting to clear config and cache.");
Artisan::call('config:clear');
Artisan::call('cache:clear');
\Log::debug('Saving database environment variables.');
$results = $this->environmentManager->saveDatabaseVariables($request);
if (array_key_exists('success', $results)) {
// \Log::debug('Generating app key and optimizing the application.'. json_encode( $results));
\Log::debug('Generating app key and optimizing the application.');
Artisan::call('key:generate --force');
Artisan::call('optimize:clear');
\Log::debug('config.');
Artisan::call('config:clear');
Artisan::call('cache:clear');
\Log::debug('storage.');
Artisan::call('storage:link');
\Log::debug('Running database migrations and seeding.' );
$output = Artisan::call('migrate --seed --force');
\Log::debug('migration'. $output);
}
\Log::debug('Process completed successfully.');
return response()->json("tes ok", 200);
} catch (\Exception $e) {
\Log::debug('An error occurred: ' . $e->getMessage());
return response()->json(['error' => 'An error occurred while processing the request.'], 500);
}
Запуск php php artisanmigrate --seed --force из командной строки работает как положено.
Добавлено ведение журнала до и после команды, чтобы проверить, где она зависает, и подтвердить, что это команда миграции.
Попытался разбить команды Artisan на более мелкие шаги.
Ожидаемое поведение:
Код: Выделить всё
The Artisan::call('migrate --seed --force')Команда
Ошибки не регистрируются, и сценарий просто зависает на неопределенный срок.
Другие команды Artisan прекрасно работают в том же методе контроллера.
Подробнее здесь: https://stackoverflow.com/questions/788 ... en-initial