O PHP exibe uma página em branco, mesmo com todos os relatórios de erros ativados

1

Eu estou tentando depurar uma página quebrada em um aplicativo Drupal e estou tendo dificuldades em fazer com que o PHP cuspa qualquer coisa útil. Eu tenho o seguinte conjunto:

error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
error_log = /var/log/php/php_error.log

Eu tenho um arquivo mostrando-me phpinfo () que confirma que essas variáveis estão definidas corretamente para o ambiente. Eu aumentei memory_limit para 256M (o que deve ser mais que suficiente). No entanto, a única indicação que obtenho é um código de status 500 no log de acesso do apache e uma página em branco do PHP.

O host virtual Apache tem o LogLevel configurado para depuração e o log de erros apenas gera:

[Sat Jun 16 20:03:03 2012] [debug] mod_deflate.c(615): [client 173.8.175.217] Zlib: Compressed 0 to 2 : URL /index.php, referer: http://ec2-174-129-192-237.compute-1.amazonaws.com/admin/reports/updates
[Sat Jun 16 20:03:03 2012] [error] [client 173.8.175.217] File does not exist: /var/www/favicon.ico
[Sat Jun 16 20:03:03 2012] [debug] mod_deflate.c(615): [client 173.8.175.217] Zlib: Compressed 42 to 44 : URL /favicon.ico

O log de erros do PHP não exibe nada. O kernel e o syslog não mostram nada relacionado ao Apache ou PHP. Eu também tentei instalar o suphp e verificar seu log apenas confirma que o usuário está executando corretamente:

[Sat Jun 16 20:02:59 2012] [info] Executing "/var/www/index.php" as UID 1000, GID 1000
[Sat Jun 16 20:05:03 2012] [info] Executing "/var/www/index.php" as UID 1000, GID 1000

Isso está no Ubuntu 12.04 x86_64 com os seguintes módulos PHP:

ii  php5                             5.3.10-1ubuntu3.1          server-side, HTML-embedded scripting language (metapackage)
ii  php5-cgi                         5.3.10-1ubuntu3.1          server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                         5.3.10-1ubuntu3.1          command-line interpreter for the php5 scripting language
ii  php5-common                      5.3.10-1ubuntu3.1          Common files for packages built from the php5 source
ii  php5-curl                        5.3.10-1ubuntu3.1          CURL module for php5
ii  php5-gd                          5.3.10-1ubuntu3.1          GD module for php5
ii  php5-mysql                       5.3.10-1ubuntu3.1          MySQL module for php5

Então, o que estou perdendo aqui? Por que nenhum relatório de erros?

    
por Andy Shinn 16.06.2012 / 22:08

1 resposta

1

O próprio Drupal altera o relatório de erros e as configurações de exibição que acontecem depois que o arquivo ini (onde as configurações residem) é processado. Para alterar as configurações após o drupal, você pode adicionar

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

para index.php.

O Drupal é complexo. A página em branco é carinhosamente conhecida como "tela branca da morte" (WSOD) na comunidade Drupal. Consulte o link para obter mais ajuda na solução de problemas.

    
por 17.06.2012 / 01:07