执行Laravel迁移创建命令时触发RuntimeException(信号6)求助
Laravel迁移创建时Signal 6 RuntimeException问题排查
问题场景
你执行迁移创建命令:
php artisan make:migration create_team_table --create=team
得到输出:
Created Migration: 2018_05_09_115803_create_team_table Symfony\Component\Process\Exception\RuntimeException : The process has been signaled with signal "6". /home/webdev/public_html/vendor/symfony/process/Process.php: 392 if ($this->processInformation['signaled'] && $this->processInformation['termsig'] !== $this->latestSignal) { throw new RuntimeException(sprintf('The process has been signaled with signal "%s".', $this->processInformation['termsig'])); } return $this->exitcode; }
异常追踪栈:
1 Symfony\Component\Process\Process::wait() /home/webdev/public_html/vendor/symfony/process/Process.php : 201 2 Symfony\Component\Process\Process::run() /home/webdev/public_html/vendor/laravel/framework/src/Illuminate/Support/Composer.php : 50
错误原因分析
Signal 6对应的是SIGABRT,表示进程被系统或自身异常终止。结合追踪栈指向Composer的调用,核心原因集中在Laravel创建迁移后自动触发的Composer自动加载优化环节,常见诱因有这些:
- PHP内存不足:Composer的
dump-autoload操作需要较多内存,如果PHP的memory_limit设置过低,系统会强制终止进程。可以临时调高内存限制再执行命令:php -d memory_limit=-1 artisan make:migration create_team_table --create=team - 文件权限问题:Composer缓存目录或项目
vendor目录的权限不允许当前用户读写,导致进程无法完成操作而崩溃。可以尝试清除Composer缓存并修复权限:composer clear-cache chown -R webdev:webdev /home/webdev/public_html/vendor - 系统资源限制:服务器的CPU、进程数或磁盘IO配额耗尽,导致Composer进程被系统杀死。可以通过
top/htop查看实时资源使用情况,或者联系运维确认是否有资源限制。 - PHP环境异常:比如OPcache配置冲突、第三方扩展bug等,导致进程执行中崩溃。可以尝试禁用非必要扩展,或者切换到稳定的PHP版本测试。
进一步排查建议
按照系统提示,添加-v参数执行命令,能获取更详细的进程执行日志,精准定位Composer执行时的具体错误:
php artisan make:migration create_team_table --create=team -v
内容的提问来源于stack exchange,提问作者Naveen Bisht
相关产品推荐
相关产品推荐

