zoukankan      html  css  js  c++  java
  • ThinkPHP5 在 LNMP 环境下访问出现 HTTP ERROR 500

    ThinkPHP5 在 LNMP 环境下访问出现 HTTP ERROR 500

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/gu_wen_jie/article/details/83030862

    ThinkPHP5 在 LNMP 环境下访问出现 HTTP ERROR 500

    这个问题以前遇到过很几次,今天刚好遇到一个朋友又问我来着,解决完了,想着就给记录一下吧,问题不管大小,记录下来 ~~~
    当然,这个并不是TP5框架问题了,你换一个框架使用LNMP的的命令模式配置或者手动文件配置项目也会出现这种情况,那么为什么会出现呢?
    以TP5为例:
    首先出错了,会出现这样一个页面(500…)
    在这里插入图片描述

    查错

    这个时候别着急,你得知道这是为什么出现这个500错误。来个简单的,在入口文件 index.php中加入:

    //打开所有错误报错级别
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    
    • 1
    • 2
    • 3

    运行,现在你会看到这样一个错误信息:
    在这里插入图片描述
    看到这个报错信息就很清楚了,这是因为

    由于 open_basedir 配置的问题导致php不能引入其授权目录上级及其以上的文件造成。
    
    • 1

    知道了原因就好解决了,我们先来看一下第一个关于open_basedir的配置
    注意:以下所有路径信息仅供参考。

    //php.ini文件 path:/usr/local/php/etc/php.ini
    ;open_basedir =
    
    • 1
    • 2

    如果不出意外,你的是默认注释状态,不用理会,来看下一个

    //.user.ini文件 path:/home/wwwroot/default/.user.ini
    //找不到使用命令 find / -name .user.ini
    open_basedir=/home/wwwroot/default:/tmp/:/proc/
    
    • 1
    • 2
    • 3

    到这里我想就很明白了,就是因为存放项目路径问题,已经存在设置的open_basedir值和项目目录不匹配,无法授权目录,再来看另一个地方

    //fastcgi.conf文件 path:/home/wwwroot/default/.user.ini
    //找不到使用命令 find / -name fastcgi.conf
    //最下面一行
    fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/";
    
    • 1
    • 2
    • 3
    • 4

    现在想要该项目运行起来只需要修改fasrcgi.conf中的这句话为:

    fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/:/";
    
    • 1

    保存退出,现在重启运行即可。

    补充

    当然这个地方这么做是不太完善的,你需要的是对每个项目做配置,这个地方其实不需要修改,但是这样确实可以解决问题,比如,你可以这样,在php.ini中添加这样两行代码

    [HOST=你的域名]
    open_basedir=/home/wwwroot/项目文件夹/:/tmp/
    [PATH=/home/wwwroot/wwwroot/项目文件夹/public]
  • 相关阅读:
    如何在软件频繁改变时测试?归纳总结
    PE文件格式资源
    PE文件格式重定位
    PEB模块链表Ldr
    PE文件格式导入表和IAT
    PE文件格式导出表
    win32汇编问题指令
    win32汇编问题堆栈
    硬盘基本知识
    SEH异常处理
  • 原文地址:https://www.cnblogs.com/gaogaoxingxing/p/11706851.html
Copyright © 2011-2022 走看看