重新部署项目,在 git clone 拿到代码后,使用 composer install 安装三方依赖库。之后就报了上面的错误:SSL: no alternative certificate subject name matches target host name 'xxx'

  - Syncing barryvdh/laravel-debugbar (v2.4.3) into cache
    Failed to download creativeorange/gravatar from dist: curl error 60 while downloading https://files.phpcomposer.com/files/creativeorange/gravatar/a0e84f0c8e8922ad151168d6ebd8db6a1b2d8cd2.zip: SSL: no alternative certificate subject name matches target host name 'files.phpcomposer.com'
    Now trying to download from source

首先肯定是先 composer self-update 将 composer 更新到最新版本,但这个对报错没有任何的作用。

之后看到网上有教程说设置 http.sslVerify 为 false,即 git config --global http.sslVerify false,设置之后再次安装,依然会报哪个错。

想不通,之前部署也不是一次两次了,怎么会不行。突然意识到我是在 master 分支去安装三方库的,这个分支的代码长期没有维护压根不能执行,遂切换到开发分支 dev ,之后再次安装,ok 的。

Laravel 项目,处理要设置 public 为运行目录、并且添加以下的伪静态以外:

location / {  
    try_files $uri $uri/ /index.php$is_args$query_string;  
}

要想跑起来,还需要设置 storage 下面的一个目录的用户和用户组为 php 脚本执行者,这边是www,即 chown -R www.www storage,之后再根据项目是否可以正常运行,酌情考虑是否还要设置 bootstrap 及 files 等目录所有者。