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 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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