2011-11-22 69 views
2

我已經在Apache服務器上用ZF 1.11網站進行了幾個月的測試。我今天早上試圖運行一些測試,並且我的網站剛剛掛起(輸入網址,我的瀏覽器只是說等待來自...的回覆)。我很擅長修復代碼中的異常,但我從來沒有發現異常。我肯定已經改變了一些東西,但迄今爲止我花了5個小時來解決這個問題,所以我被卡住了Zend Framework網站掛起

我已將網站從https切換到http(並多次重新啓動httpd)。

我刷新從我的工作在生產服務器上的所有我的PHP代碼(使用不同的證書開發服務器的克隆。)

我改變日誌中的httpd的conf文件進行調試。

我可以看到在日誌中的調試消息時,我打了服務器:

 
[Tue Nov 22 12:40:25 2011] [debug] proxy_util.c(1818): proxy: grabbed scoreboard slot 0 in child 30181 for worker proxy:reverse 
[Tue Nov 22 12:40:25 2011] [debug] proxy_util.c(1837): proxy: worker proxy:reverse already initialized 
[Tue Nov 22 12:40:25 2011] [debug] proxy_util.c(1934): proxy: initialized single connection worker 0 in child 30181 for (*) 

我可以看到訪問時間上的bootstrap.php文件更改,每次我刷新瀏覽器。 看着httpd日誌,我看到請求,但我看到的只是請求。

有時我的控制器(IndexController.php)上的修改時間更新,但並非總是如此?

我在我的Bootstrap中初始化記錄器,所以我添加了一個調用來打印一條消息,說明該行已被命中。在瀏覽器中產生異常消息的打字錯誤之後,我現在有時會在日誌中收到消息...但並非總是如此。

我可以通過瀏覽器訪問我的public/images目錄中的文件。此服務器上的另一個站點也可以運行

我更新了php.ini發送調試消息到系統日誌和除了我上面提到的異常。我沒有看到任何錯誤。

我想我需要的是關於如何遵循Zend框架流程的一些指導。我猜測問題出現在Bootstrap中或之後不久。這是我的Bootstrap.php。這很簡單。

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { 

    // anything here that starts with "_init" will be run at startup 

    protected function _initSession() { 
     $doctypeHelper = new Zend_View_Helper_Doctype(); 
     $doctypeHelper->doctype('XHTML1_TRANSITIONAL'); 

     Zend_Session::start(); 

    } 

    protected function _initLog() { 
     $options = $this->getOptions(); 
     $logpath = $options['logpath']; 

     $logger = new Zend_Log(); 
     $writer = new Zend_Log_Writer_Stream($logpath); 
     $logger->addWriter($writer); 

     Zend_Registry::set("logger", $logger); 

     $logger->log("Bootstrap.php - initLog complete", Zend_Log::INFO); 
    } 

    public function _initDbAdapter() { 
     $resource = $this->getPluginResource('multidb'); 
     $resource->init(); // Don't forget to initialize the resource first 

     $cpDB = $resource->getDb('cp'); 
     $openfireDB = $resource->getDb('openfire'); 

     Zend_Registry::set('cpDB', $cpDB); 
     Zend_Registry::set('openfireDB', $openfireDB); 

    } 
} 

任何指針,將不勝感激。

+0

我也會啓用DB分析 - 可能是一些很長的查詢 – heximal

+0

好的建議。我實際上刪除了_initDbAdapter例程,但它沒有幫助。我使用ldap登錄,我也檢查並重新啓動了該服務。 – Ken

+4

你爲什麼猜測?掛鉤一個調試器(xdebug),你就會知道它究竟掛在哪裏。 –

回答

0

這不是php錯誤。是Apache的一個,可能與Apache升級有關。嘗試在Apache中禁用與代理相關的模塊。看到這個discussion

a2dismod proxy proxy_connect proxy_ftp proxy_http proxy_ajp proxy_balancer proxy_html proxy 
0

xdebug是我需要弄清楚發生了什麼事情。

+0

你是如何解決這個問題的?還有什麼問題?謝謝! –

1

我們在新服務器部署方面遇到了非常類似的問題,並且關閉了IPV6來解決它。