2013-01-08 52 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