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 协议》,转载必须注明作者和本文链接
推荐文章: