laravel7 开发的项目配置到虚拟主机上
起因:之前做的一个项目需要配置到虚拟主机上.#
(本人之前都是直接放到 ecs 实例上的,纯系统安装宝塔搞定就基本 ok 了. ^_^)
环境:云虚拟主机,php7.2 mysql nginx 这些都是配置好的.
虚拟主机网站根目录是固定的,我们没法通过 nginx 的配置文件修改网站绑定的站点根目录#
伪静态配置: (谷歌出来的)
修改项目的访问目录:
改之前的目录: (默认项目的初始访问文件都是放在 public/index.php 下)
更改目录:
1. 先把除了 public 目录外的所有文件都放到 local 目录 (local 是我新建的一个文件夹) 下.
2. 在把 public 目录下的所有文件都放到站点根目录。这样 index.php 就能访问到了.
3. 修改 index.php , 如下图:
要注意:此时的 public_path () 函数对应的目录位置:站点根目录 /local/public ; 其它的助手目录函数
都会发生类似的变化.
问题:当我登录 laravel-admin 的后台,发现所有的文件上传都保存不了。报错信息:
谷歌问题找到答案:
虚拟主机默认没有开启 php 的 chmod 函数。开启后文件保存成功
总结:
- 在没法修改虚拟主机站点根目录的情况下,需要修改 laravel 的目录结构.
- 伪静态可以通过 nginx 设置去配置
- chmod 等函数,虚拟主机是默认关闭的,需要手动开启.
重点:遇到报错的时候,先查看错误日志。通过错误日志给出的错误信息再去分析会比较简单点.#
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: