卡住主因是Xdebug静默等待、镜像源不可达或macOS权限拦截;应先禁用Xdebug、换阿里云镜像、补全artisan可执行权限并放行Gatekeeper。

执行 Laravel 安装命令(如 composer create-project laravel/laravel myapp 或 laravel new myapp)卡住不动,不是网络“慢”,而是某些关键环节被阻断或静默挂起,常见原因有三类:PHP 扩展干扰、网络源不可达、系统级权限/安全机制拦截。
PHP 扩展(尤其是 Xdebug)导致 CLI 静默等待
Laravel 5.4–10 的安装器在解析依赖时会调用 proc_open 等函数,若启用了 Xdebug 且未配置调试监听,PHP CLI 会无限等待调试器连接,表现为光标闪烁、无任何输出、进程不退出。
- 临时禁用 Xdebug:
php -d xdebug.mode=off composer create-project laravel/laravel myapp "10.*" - 检查是否启用:
php -m | grep xdebug;若存在,可编辑php.ini注释掉zend_extension=xdebug.so行 - 确认
proc_open可用:php -r "var_dump(function_exists('proc_open'));"→ 应返回 true
Composer 源不可达或 GitHub zip 下载失败
laravel new 命令本质是下载预打包的 ZIP 骨架,直链来自 GitHub。国内环境常因 DNS、SSL 或重定向问题卡在 Downloading 阶段;create-project 则可能卡在 Loading composer repositories,说明 packagist.org 无法响应。
- 换用更稳定的安装方式:
composer create-project laravel/laravel myapp --prefer-dist - 配置阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 若已设代理,确保
HTTP_PROXY和HTTPS_PROXY环境变量生效(echo $HTTP_PROXY可验证)
macOS Gatekeeper 或权限缺失导致 artisan 无法运行
即使项目目录生成成功,首次运行 php artisan list 也可能卡住或弹窗报“已损坏”。这不是 Laravel 的错,而是 macOS 对刚解压/生成的 PHP 脚本施加的双重限制:
- artisan 缺少可执行位:
ls -l artisan若无x(如显示-rw-r--r--),执行chmod +x artisan - Gatekeeper 拦截:右键点击
artisan→ “打开” → 点“打开”放行(仅首次需要) - 确认 PHP 版本匹配:Laravel 10 要求 PHP ≥ 8.1,Laravel 5.4 要求 PHP 7.4.x;运行
php -v和which php,确保不是系统自带/usr/bin/php


















