laravel7 开发的项目配置到虚拟主机上

起因:之前做的一个项目需要配置到虚拟主机上.#

(本人之前都是直接放到 ecs 实例上的,纯系统安装宝塔搞定就基本 ok 了. ^_^)

环境:云虚拟主机,php7.2 mysql nginx 这些都是配置好的.

虚拟主机网站根目录是固定的,我们没法通过 nginx 的配置文件修改网站绑定的站点根目录#

伪静态配置: (谷歌出来的)
laravel7 开发的项目配置到虚拟主机上

修改项目的访问目录:
改之前的目录: (默认项目的初始访问文件都是放在 public/index.php 下)

laravel7 开发的项目配置到虚拟主机上

更改目录:
1. 先把除了 public 目录外的所有文件都放到 local 目录 (local 是我新建的一个文件夹) 下.
2. 在把 public 目录下的所有文件都放到站点根目录。这样 index.php 就能访问到了.
3. 修改 index.php , 如下图:

laravel7 开发的项目配置到虚拟主机上

要注意:此时的 public_path () 函数对应的目录位置:站点根目录 /local/public ; 其它的助手目录函数
都会发生类似的变化.

问题:当我登录 laravel-admin 的后台,发现所有的文件上传都保存不了。报错信息:

laravel7 开发的项目配置到虚拟主机上
谷歌问题找到答案:
虚拟主机默认没有开启 php 的 chmod 函数。开启后文件保存成功
laravel7 开发的项目配置到虚拟主机上

总结:

  1. 在没法修改虚拟主机站点根目录的情况下,需要修改 laravel 的目录结构.
  2. 伪静态可以通过 nginx 设置去配置
  3. chmod 等函数,虚拟主机是默认关闭的,需要手动开启.

重点:遇到报错的时候,先查看错误日志。通过错误日志给出的错误信息再去分析会比较简单点.#

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。