2013-01-08 82 views
1

我有完整的shell访问权限和phpMyAdmin,并且我需要让此站点在开发域/新路径(远程服务器,也是主机生产站点)上工作。值得注意的是,我做了而不是有服务器错误日志。试图克隆Magento 1.4.x网站进行开发,我该如何调试死亡白屏?

值得一提的是,我有幸能够在我的本地服务器上工作,我了解如何更新core_config_data表中不安全的basurl's,但我似乎无法让该网站在我们的网站上工作远程开发服务器,我只是白屏。 (可以肯定的是,我尝试过在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 /报告

编辑#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> 
+0

文件崩溃的下一行(即processor.php)是什么?这似乎就是WSOD发生的地方 – pzirkind

+1

的确,这正是我需要看的地方。该行(477)位于一个名为saveReport的~20行函数中,现在我得到一个预测不正确的预感(因为它不会像预期的那样抛出报告),这可能是因为我的/ var/report文件夹的权限。而权限可能是我更大的问题。我想我需要把这个给主机提供商。非常感谢,如果我的预感正确,我会回复。 – YellowShark

回答

2

这里有一些步骤,你可以采取:

+0

谢谢,更新我的问题来解决这些问题。我认为Apache/PHP是好的,因为我们的prod站点运行在同一台服务器上。 – YellowShark

2

在特殊线条和断点处打印或回声可以调试死亡的白色屏幕。不幸的是,如果你有很多代码,这是非常烦人的。所以,一个解决方案是“打勾”每一行,直到PHP崩溃。

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


function TickLine() { 
    $backtrace = debug_backtrace(); 
    echo 'File: ' . $backtrace[0]['file'] . '[' . $backtrace[0]['line'] . ']<br>'; 
} 
+0

男人,这可能打破了冰塞。我在这里得到了7800行输出,我将用这个最新数据更新我的帖子。非常感谢! – YellowShark

1

在索引中查找以下行。PHP文件:

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

让它:

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

此外,明确了VAR /报告(至少这是它是1.6),然后刷新一个新的错误应该在那里。

让我知道你是否需要更多的想法。

+0

你应该真的升级到1.7,在1.4中有很多安全漏洞,说实话,它值得升级。这是一个很快,并有更多的功能。 – Nitroware

+0

更新了我的问题以解决这些问题,在前面都没有运气,仍然WSOD'ing。虽然谢谢! – YellowShark

+0

的确,这就是我们正在做的事情,克隆dev,以便我们可以开始推动升级。我们还有一个古老的Joomla安装,如果这里的Magento问题不是我的死亡,那将是很好的更新它们。 – YellowShark