【问题标题】:PHP Gives me a blank pagePHP给了我一个空白页
【发布时间】:2016-08-07 01:25:51
【问题描述】:

所以我昨天正在处理这个页面,我遇到了一些错误,但仍在完成所有内容,但是当我停止时,我加载了页面正常。然而今天当我加载页面时它是空白的,并不是完全空白,但它会在文件中的某个点停止加载内容(见下文)。

现在奇怪的是,如果我把它放在 cmets 中它不会改变任何东西,当我放入所有 php 代码时它甚至不会改变任何东西。所以我有点卡住了......

编辑:所以我才意识到我忘了提供链接,尽管在网上查看时它给出了一个完整的空白页面...... http://hmorreels.hol.es/Morreels_App/index.php/charts 可悲的是,虽然这是一个内部 500 错误,所以那里的信息不多:/

也许你们中的一个人看到了吗? 我已经把页面放到网上,我把我的代码放在这里...... 本页面使用 laravel 作为框架,但大部分页面都是简单的 PHP。

<?php
use Illuminate\Support\Facades\DB;
include "config.php";
$init = false;

/* Check if the charts page is given a company ID or not */
/* ===================================================== */
if (isset($company_identifier)) {
    /* The page has gotten the company ID, this means we can go forth and do our calculations, show the graphs and stuffs */
    /*     ================================================================================    ================================== */
    $init = true;
}

$raspis = DB::table("raspi_installations")->get();
foreach ($raspis as $raspi) {
    $val = $raspi["serial_ID"];
    $val = "raspi_" . $val;
    $$val = $raspi;
}

$companies = DB::table('companies')->get();

foreach ($companies as $table) {
//die() WORKS UNTIL THIS LINE AFTER THE NEXT ONE IT STOPS WORKING
//===============================================================


        $$table['company_identifier'] = DB::table($table['company_identifier'])->get();

}

$engineers = DB::table('users')->get();
$Hydrauliek_Morreels_NV = DB::table('Hydrauliek_Morreels_NV')->get();
$i=0;

?>

<head>

    <link rel="stylesheet" href="/Morreels_App/public/styles/css/charts.css">
</head>
<html>

<body>
<?php include "header.php"; ?>

<div id="main_panel">

    <div class="flowx" id="panelhead" style="height:300px;">
        <div class="col colspan-3-of-3">
            <h1>Charts</h1>
            <p><?php echo trans('panelheaders.charts'); ?></p>
            <br/>
            <select name="company" id="company">
                   <?php foreach($companies as $company) : ?>
                      <option id="" value="/Morreels_App/index.php/charts/<?php echo $company["id"]; ?>"><?php echo $company["company"]; ?></option>
                   <?php endforeach; ?>
            </select>

            <?php foreach($companies as $company) : ?>
                <div id="<?php echo $company["company_identifier"]; ?>">
                    <form action="<?php echo $company["id"]; ?>">


                        <?php foreach($$company["company_identifier"] as $row):?>
                            <?php $name = "raspi_" . $row["raspi_ID"]; $current_dxd = $$name; die(print_r($$name)); ?>
                            <?php foreach ($row as $key => $value): ?>
                                <?php if($key == "temperature" || $key == "rH" || $key == "oilfilter_1" || $key == "oilfilter_2" || $key == "oilfilter_3"): ?>
                                    <label for="<?php echo $key; ?>"><input type="checkbox" value="<?php echo $value; ?>" name="<?php echo $value; ?>" id="<?php echo $key; ?>"><?php echo $key; ?></label>
                                <?php endif; ?>
                                <?php if($key != "temperature" && $key != "rH" && $key != "oilfilter_1" && $key != "oilfilter_2" && $key != "oilfilter_3" && $key != "updated" && $key != "entry_ID"): ?>
                                    <label for="<?php echo $current_dxd[$key]; ?>"><input type="checkbox" value="<?php echo $value; ?>" name="<?php echo $value; ?>" id="<?php echo $current_dxd[$key]; ?>"><?php echo $current_dxd[$key]; ?></label>
                                <?php endif; ?>

                            <?php endforeach; ?>
                        <?php endforeach; ?>
                    </form>
                </div>
            <?php endforeach; ?>



        </div>



    </div>

    <div id="content" style="background-color: #ECF2F6">

        <?php if($init): ?>
            <div class="col colspan-2-of-3 chart">
                <h1>
                    <?php
                    $id = $company_identifier - 1;
                    echo $companies[$id]['company'];
                    ?>
                </h1>

            </div>
            <div class="col colspan-1-of-3">


                <div id="action_holder">
                    <p>If you wish to see the graphs in detail and stop the     live feed of them, please click here,</p>
                    <button class="btn btn-default" id="STOP">Stop</button>
                </div>
                <div id="action_holder2">
                    <p> <?php echo trans('panelheaders.charts2'); ?></p>
                    <a style='text-decoration: none;' href='<?php echo $url;     ?>'><button class='btn btn-primary'><?php echo trans('basic.reload'); ?>    </button></a>
                </div>

            </div>
            <!-- CHART 1: TEMPERATURE -->
            <div id="temperature_chart" class="col colspan-3-of-3">



            </div>

            <div id="rH_chart" class="col colspan-3-of-3">



            </div>


            <!-- CHART 2: PM CHARTS -->
            <div class="chart col colspan-3-of-3">
                <div id="pm_chart_holder">

                </div>
            </div>
        <?php endif; ?>

    </div>


    <script type="text/javascript" src="/Morreels_App/public/chartjs/Chart.js"></script>
    <script src="/Morreels_App/public/scripts/js/chartfeed.js"></script>
    <script>

    </script>
</body>
</html>

【问题讨论】:

  • 你能把你的错误日志贴在这里吗?
  • 据我所知,我得到了 0 个错误,那么我应该在哪里寻找呢? (服务器上的错误日志文件 = 空,页面上的错误为空)

标签: php laravel debugging webpage


【解决方案1】:

您的网络服务器配置错误。您的网络服务器(Apache、Nginx)应该指向public 目录。正确设置的正确 URL 将是:

http://hmorreels.hol.es/charts 

但不是:

http://hmorreels.hol.es/Morreels_App/index.php/charts 

如果您使用的是 Apache,请read this

另外,不要忘记在 storage 文件夹上设置正确的权限,对于 Unix,它将是:

chmod -R 775 storage

【讨论】:

  • 我知道我不会花时间在不允许对 htaccess 文件进行任何更改的免费服务器上执行此操作,如果我在几周内将它移到生产服务器上的话已经设置为这样工作:)
  • 问题是你可能会因为配置错误而出现像这里一样的奇怪行为。
  • 哦,真的吗? :o 那,我的好先生是我不知道的 :) (遗憾的是,在免费测试服务器方面,我没有很多其他选择:/ .htaccess 文件不可访问,因此可能无法修复:/ ) 也许一旦生产服务器运行,我就可以在那里测试(如果错误仍然存​​在)
【解决方案2】:

在 Laravel 中,您可以在 Exceptions/Handler 或 Log::error($e) 中设置断点。这将捕获所有异常。可能是错误和重定向引起的。

你检查过 laravel 日志和 apache/nginx 日志吗?

【讨论】:

  • 很抱歉在这里看起来像个新手,但我之前从未使用过 Log::error($e) 并且似乎不想被静态调用并且似乎找不到任何关于如何把它放在我的文件中(laravel 网站说要像你一样输入),但这对我不起作用。
【解决方案3】:

我修好了,这是我的错,非常抱歉,SQL 函数试图从我的 MySQL 表中加载 641.574 行。

这个提要系统 24/7 运行,我不认为它太大,因为我最近才从我的桌子上删除了限制器 :)

所以...,很抱歉浪费您的时间...虽然您确实教过我一些有关错误日志的知识;)

感谢您的帮助,无论如何,伙计们真的很感激!

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2020-04-03
    • 2022-06-15
    • 2014-04-02
    • 1970-01-01
    • 2021-02-10
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多