【 记在服务器部署laravel项目的经历】

1 先登录到服务器上,将代码克隆下来

git clone 项目地址

2 避免composer太慢,启用本镜像服务

 可以先安装 apt-get install zip,unzip,php7.0-zip 以免中途会报错解压不了

例1:修改 composer 的全局配置文件(推荐方式)

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com
例2:修改当前项目的 composer.json 配置文件:

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是composer.json 文件所在目录),执行如下命令:

composer config repo.packagist composer https://packagist.phpcomposer.com

3 在使用composer install过程中出现的问题:

 mbstring

- laravel/framework v5.5.45 requires ext-mbstring * -> the requested PHP exte
nsion mbstring is missing from your system.

  解决办法:

apt-get install php7.1-mbstring

ext-dom

- laravel/framework v5.5.45 requires ext-dom * -> the requested PHP exte
nsion mbstring is missing from your system.

  解决办法:

apt-get install php7.1-xml

4 其他

 cp .env.example .env //复制.env 
 php artisan key:generate //生成key
 composer dump-autoload
 php artisan cache:clear

5 本次没有遇到过的问题

[2019-02-25 16:00:33] production.ERROR: Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) at /xxxx/application/estimate-admin/vendor/symfony/translation/Translator.php:89)

解决办法:

升级线上机器PHP版本是不可能的事情。于是我只能强制限定版本号。

直接在最上层我的项目中require symfony/translation,并且指定版本号。

"symfony/translation" : "3.3.13"

重新composer update 就可以了。

 

上一篇:php – 表已经是utf8字符集,仍然在某些字符中出现问号


下一篇:pdf – 如何从php.ini启用mbstring?