部署 Laravel 到阿里云虚拟主机遇到的问题?

是这样的,有一个大的问题,就是虚拟主机不能用SSH方式登陆和运行命令。
但是上传之后出现这个错误:
No application encryption key has been specified.
找资料发现要运行php artisan key:generate
但是没法运行命令,.env文件里是有KEY的。
后来在本地把包解压之后可以看到页面。为什么到新环境就要生成新的key, 而本地就可以呢?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

我是整个包全部上传的然后修改.htaccess文件,.env文件也是本地配置好了之后上传的,并没有重新生成,代码如下

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
5年前 评论

@itabel 你可以依次试试下面的命令

  • composer dump-autoload
  • php artisan key:generate
5年前 评论

@benettzhang
虚拟主机,不好运行命令的,就直接打包好了

5年前 评论

这样哈,我以为虚拟主机可以运行命令 :joy:

5年前 评论

解决了吗

5年前 评论

本地的 .env 文件默认是放进 .gitignore 文件里不做版本控制的,所以生产环境中,第一次拉取或者克隆你的项目是不包含 .env 文件的,故执行命令 $ cp .env.example .env
但默认的 .env.example 不包含密钥,所以服务器需要重新生成一次

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!