1

我有完整的 shell 访问权限和 phpMyAdmin,我需要让这个站点在开发域/新路径上工作(远程服务器,也托管生产站点)。值得注意的是,我没有服务器错误日志。

值得指出的是,我很幸运能够让它在我的本地服务器上运行,我了解更新表中不安全和安全的 basurl core_config_data,但我似乎无法让该站点在我们的远程开发服务器上运行,我只是得到白屏。(可以肯定的是,我已经尝试在 index.php 中提高我的 error_reporting 和 error_level ,没有改变任何东西......这就是我可以从网上收集到的所有信息,除了在管理员中启用它,这不是一个选项目前)。

好的,提前谢谢,任何建议表示赞赏。

编辑:到目前为止我所做的事情:

  • 错误报告在 index.php 的顶部设置为error_reporting(E_ALL); ini_set('display_errors', 'On');
  • 检查数据库中是否启用了日志记录(已经启用)
  • 我能够死/回显输出(使用类似的东西die('arf');)直到 index.php 脚本的最后一行,它执行的地方Mage::run($mageRunCode, $mageRunType);我没有深入到那个过程,我确定它只是直接进入核心 &我的问题可能在其他地方。
  • 启用Mage::setIsDeveloperMode(true);
  • 没有新文件被写入 var/report

编辑#2:djot 下面的回答让我朝着正确的方向前进,并给了我一些输出。实际上有 7800 行,所以这是它结束前的最后几行,稍后我会在有时间进一步了解它之后更新它:

File: /var/www/vhosts/somesite.com/subdomains/dev/httpdocs/shop/errors/processor.php[472]<br>
<script type="text/javascript">File: /var/www/vhosts/somesite.com/subdomains/dev/httpdocs/shop/errors/processor.php[475]<br>
window.location.href = 'http://dev.somesite.com/shop/errors/report.php?id=498275850056&skin=default';File: /var/www/vhosts/somesite.com/subdomains/dev/httpdocs/shop/errors/processor.php[476]<br>
</script>File: /var/www/vhosts/somesite.com/subdomains/dev/httpdocs/shop/errors/processor.php[477]<br>
4

3 回答 3

2

使用特殊行、断点处的打印或回声可以调试死机白屏。不幸的是,如果你有很多代码,这很烦人。因此,一种解决方案是“勾选”每一行,直到 php 崩溃。

declare(ticks=1);
register_tick_function('TickLine', TRUE);


function TickLine() {
  $backtrace = debug_backtrace();
  echo 'File: ' . $backtrace[0]['file'] . '[' . $backtrace[0]['line'] . ']<br>';
}
于 2013-01-08T22:42:41.773 回答
2

以下是您可以采取的一些步骤:

于 2013-01-08T22:38:20.180 回答
1

在 index.php 文件中查找以下行:

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}

做了:

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE']) || true) {
    Mage::setIsDeveloperMode(true);
}

另外,清除 var/report (至少在 1.6 中是这样),然后刷新,应该会出现一个新错误。

如果您需要更多想法,请告诉我。

于 2013-01-08T22:59:39.113 回答