Включайте следующие две строки наверху своего Сценария PHP
ini_set('display_errors','On');
error_reporting(E_ALL | E_STRICT);
Обнаружил проблему:
Вкратце: моя веб-страница пыталась подключиться к MySQL, но MySQL в это время не работал. Таким образом, apache не запустился.
Я изменил следующую строку в /etc/init.d/apache2
, чтобы записать проблему запуска в системный журнал: с
if $APACHE2CTL start; then
на
if $APACHE2CTL -k start -e Debug 2>&1 | logger -t "apache_start"; then
После загрузки проверьте свой / var / log / syslog
для записей, начинающихся с apache_start
.
Следующая проблема: как я могу заставить apache запускаться после mysql. См. Здесь: Принудительный запуск apache после mysql
Дополнительная информация: I use Perl Catalyst Framework.
Here is the error output from apache init script:
DBI connect('database:localhost:3306','User',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at /usr/local/share/perl/5.10.1/Catalyst/Plugin/I18N/DBI.pm line 196.
Syntax error on line 10 of /etc/apache2/sites-available/mysite:
Can't call method "disconnect" on an undefined value at /usr/local/share/perl/5.10.1/Catalyst/Plugin/I18N/DBI.pm line 263, <DATA> line 998.\nCompilation failed in require at (eval 4) line 3, <DATA> line 998.\n
I think the Syntax error is caused by the previous error. Because line 10 is:
PerlModule CatalystPageName
and works fine if mysql running.
I didn't found out yet why the localization module connects at startup. We have other webpages with same module which don't have this problem/connect at startup. Since it can't connect a following disconnect causes an exception in Perl which aborts the apache2crl start command. (That's what I guess)