Я уже несколько месяцев тестирую сайт ZF 1.11 на сервере Apache. Этим утром я попытался запустить некоторые тесты, и мой сайт просто завис (введенный URL, и мой браузер просто говорит, что ждет ответа от ...). Я довольно хорошо исправляю исключения в своем коде, но я даже не получаю исключения. Я, должно быть, что-то изменил, но я потратил 5 часов на это, и я застрял.
Я переключил сайт с https на http (и много раз перезапускал httpd).
Я обновил весь свой php-код с того, что у меня работает на рабочем сервере (клон dev-сервера с разными сертификатами).
Я изменил ведение журнала для отладки в файле 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);
}
}
Любые указатели приветствуются.
Ken