VPS侦探论坛

 找回密码
 注册
查看: 3405|回复: 2

遇到一个奇怪到无法定义的问题

[复制链接]
发表于 2017-9-5 14:59:57 | 显示全部楼层 |阅读模式

昨晚拿了一台空服务器,里面什么都没有,用wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp安装lnmp,很顺利,安装成功,可以访问默认的安装成功的页面。而当我把做好的laravel项目上传至服务器并做好配置的时候,问题出现了。浏览器访问一片空白,F12检测报500错误。

经过断点测试,发现一个让我十分纳闷的问题:在入口文件的第一行require就挂掉了。我把require包含的路径变来变去,只要有 ..就不成功。

我把上面遇到的问题从项目中抽出来,做了一个超级简单当我demo。如下:

1、创建目录与文件,结构如下:
test
  |—a  
    |—a.php
  |—b  
    |—b.php
  |—c  
    |—c.php
  |—home   
    |—index.php

2、各个文件的内容
a/a.php

<?php
echo  "this is a.php <br/>\n";
echo "a.php require b.php <br/>\n";
require __DIR__ . "/../b/b.php";
echo "<br/>\n";
echo "a.php require c.php <br/>\n";
require __DIR__ . "/../c/c.php";
echo "<br/>\n";



b/b.php

<?php
echo  'this is b.php';



c/c.php

<?php
echo  'this is c.php';



home/index.php

<?php
echo "this is index <br/><br/>\n\n";


echo "now require a.php <br/>";
require __DIR__ . "/../a/a.php";
echo "<br/>\n";


echo "now require b.php <br/>\n";
require "../b/b.php";
echo "<br/><br/>\n\n";


echo "now require c.php <br/>";
require "../c/c.php";
echo "<br/>\n";

3、配置路径
   修改nginx配置文件 Nginx.conf,把配置项server中默认的 ‘root  /home/wwwroot/default 改成 ‘root  /home/wwwroot/test/home’

4、浏览器页面访问,得到的结果是:
this is index
now require a.php



而在我本地访问的结果是:

this is index


now require a.php
this is a.php
a.php require b.php
this is b.php
a.php require c.php
this is c.php


now require b.php
this is b.php


now require c.php
this is c.php



也就是说,在遇到第一个 require __DIR__ . "/../a/a.php"; 的时候就出错了。

5、在服务器中,执行php命令等到与本地访问相同的结果
  
   xshell>php /home/wwwroot/test/home/index.php



//---------------------------
综上,本地测试和linux中用命令行php执行文件都可以得到预想的结果, 但用浏览器访问服务器时require就出错。
这个问题我思考许久,觉得跟环境有关,但具体又不知道是哪里的配置导致的。

如有人知道,望指点一二

[ 本帖最后由 php_obj 于 2017-9-5 15:13 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2017-9-5 18:20:55 | 显示全部楼层


按常见问题移除防跨目录设置
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2017-9-5 23:47:53 | 显示全部楼层

回复 2# 的帖子


顺利解决  谢谢军哥
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-25 11:17 , Processed in 0.027169 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表