create-project 报错多因环境、权限或网络问题,非项目本身缺陷;删缓存、换镜像、关Xdebug可解决80%情况;mkdir(): Permission denied需检查对应路径父目录权限,Linux/macOS用chmod u+rwx .修复,WSL用户勿将项目放/mnt/c/下。

create-project 报错不是项目本身的问题,而是环境、权限或网络卡在了初始化阶段。直接删缓存、换镜像、关 Xdebug 就能解决 80% 的情况。
报错提示 mkdir(): Permission denied 怎么办
这几乎全是目录写入权限问题,和 Composer 逻辑无关:
- 先看错误末尾的路径——是
vendor/、~/.composer/cache/还是项目根目录?重点查那个路径的父目录权限 - Linux/macOS 下运行
ls -ld .确认当前项目目录是否对当前用户有rwx权限;若无,执行chmod u+rwx . - 如果
~/.composer/cache/属主是root(常见于曾用sudo composer),运行sudo chown -R $USER:$USER ~/.composer/cache - Windows WSL 用户别把项目放在
/mnt/c/下——NTFS 不支持 Linux 权限模型,mkdir必败;移到~/projects/再试
create-project 卡住或超时怎么调
超时通常发生在下载 composer.json 模板或解压归档包阶段:
- 临时加长超时:运行
composer config process-timeout 3000(单位毫秒) - 国内用户优先切镜像源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 禁用 HTTPS 验证(仅调试用):
git config --global http.sslVerify false,但更推荐更新系统 CA 证书 - 如果卡在
Cloning into 'xxx'...,说明 Git 正在拉取模板仓库——检查 SSH key 或换 HTTPS 地址
SSL 证书错误:SSL certificate problem: unable to get local issuer certificate
不是镜像源问题,是 PHP 的 OpenSSL 找不到可信根证书:
- 先查 PHP 用的证书路径:
php -r "print_r(openssl_get_cert_locations());",重点关注default_cert_file - 下载最新根证书覆盖它:
wget http://curl.haxx.se/ca/cacert.pem -O /etc/pki/tls/cert.pem(路径按上一步输出调整) - 或者设环境变量绕过验证(不推荐长期用):
export SSL_CERT_FILE=/path/to/cacert.pem - 时间不同步也会触发该错误:运行
sudo ntpdate -s time.nist.gov(Linux)或检查 Windows 时间服务
create-project 后 vendor/autoload.php 找不到
这不是 create-project 失败,而是自动加载没生成或路径没被识别:
- 先确认
vendor/目录已成功创建且非空;若为空,说明下载中断,重试并加-vvv - 手动触发 autoload 重建:
composer dump-autoload -v,观察输出是否扫描到了你的src/或app/ - 检查
composer.json中autoload配置:PSR-4 映射末尾必须带反斜杠,比如"App\": "src/",少一个就不生效 - 如果用了
--no-install或--no-scripts,vendor/里不会有autoload.php,需补跑composer install
最易被忽略的是:create-project 默认会执行模板里的 post-create-project-cmd 脚本,如果脚本里调用了未安装的二进制(如 phpunit),它会静默失败但不中断流程,导致后续命令出人意料地报错——建议加 -vvv 看完整日志流。


















