美文网首页
Linux部署Thinkphp3.2中Url请求404

Linux部署Thinkphp3.2中Url请求404

作者: 程序小白菜 | 来源:发表于2018-12-11 13:40 被阅读0次

    在windows本地开发好的项目,部署到线上环境中遇到的一些问题处理

    一、为了项目运行安全,不暴露所选的PHP框架,会修改Thinkphp的错误页面,如下图

    而改为我们自定义的错误页面

    方案:

    配置参数: 'TMPL_EXCEPTION_FILE' => './error_404.html',

    二、为了隐藏报错信息,会把入口文件的调试模式设置为false,此时线上请求地址携带驼峰的url会报错,如xxxx.com/Home/Index/userInfo

    1、排错技巧:

    (1)、排查nginx的配置是否有错,排查nginx能否收到请求,转发路由是否报错

    (2)、排查Thinkphp框架的Runtime/Logs日志,查看具体错误信息

    2、遇到的问题示例:

    (1)、Fatal error: Uncaught Error: Class 'Think\Log' not found in /home/www/bus/ThinkPHP/Library/Think/Think.class.php:335

    若报这个错,一般问题时Runtime文件目录在Linux的权限问题,一是给Runtime文件赋予权限,

    chmod 777 -R 路径/Runtime/  

    删除 rm -rf 路径/Runtime/common~runtime.php 文件

    (2)、在控制器的方法名时驼峰写法,在模板文件的名称也是驼峰写法,请求报错:

    查看框架日志报错:

    ERR: 模板不存在:./View/Home/Index/userInfo.html

    这是由于Thinkphp框架在$this->display()默认解析的模板文件大小问题

    方案:在$this->display()中把模板文件名给加上,如$this->display('userInfo')即可

    参考链接:

    https://blog.csdn.net/dengjiexian123/article/details/53121552

    https://blog.csdn.net/szuaudi/article/details/77879834

    相关文章

      网友评论

          本文标题:Linux部署Thinkphp3.2中Url请求404

          本文链接:https://www.haomeiwen.com/subject/dzbshqtx.html