CakePHP 1.2 e a famosa tela branca (blank page)

Olá pessoal,

essa semana fui publicar um site no meu sharedhost e tive um erro de página em branco, sem erros, sem nada. Nada de saída mesmo.

Depois de fazer tudo que estava descrito no grupo oficial, como desligar o Zend Optimizer via htaccess e etc, resolvi entrar em contato com o suporte do host, claro, completamente desanimado e sem esperanças de uma solução.

Foi quando me responderam que eu deveria enviar o site novamente mas não escolher o ASCII (ou modo automático que escolhe de acordo com o arquivo entre binário e ASCII) e sim modo binário para transmissão de todos os arquivos. Imaginei logo que seria uma típica resposta sem nexo. Relutei, perguntando qual o sentido para isso, mas ele me disse (resumidamente) “apenas faça“.

Re-enviei os arquivos em modo binário e para minha surpresa, FUNCIONOU! Estou sem entender o motivo, mas pelo menos funcionou… Se alguém passar pelo mesmo problema, vale a pena tentar. 🙂
Abraços pessoal e até a próxima.

10 Comment

  1. Cara, isso funciona.

    Fiz a instalação básica do cake + simpletest na locaweb,
    quando chamei o link “dominio/test.php” não apareceu nada.

    Então deletei tudo e fiz o upload no modo binário.
    Agora está perfeito.

    Acredito que no modo ASCII os arquivos salvos no formato UTF-8 são “quebrados”.

    Essa “blank page” já foi um desespero pra mim…

  2. Sassara e Tulio,

    O problema é realmente o que o Sassara falou: o problema do UTF-8. No arquivos UTF-8, os dois primeiros bytes informam que o arquivo é UTF-8, se você manda no modo binário, ele envia esses 2 bytes, no modo ASCII não. Além disso, os caracteres com acento não seriam mais UTF-8 e sim ASCII, ficando coisas malucas.

    Abraços e boa sorte a todos.

  3. Ola, eu estou tendo esse problema, so que local. ainda nem mandei pro servidor e fica tudo em branco.
    mas por exemplo o endereco é /noticias, se eu colocar no singular /noticia ele mostra uma tela dizendo que não achou o endereço. como eu ainda não envei pro servidor acho que não teria isso de binario ou ASCII, certo?
    se vocês descobrirem outro modo de consertar isso por favor me avisem.

    vlw.

  4. Provavelmente é o seu editor;

    Quando você digita apenas “/noticia”, o código que você criou não é carregado e por isso não da problema, porem, quando você chama corretamente o controller, ele carrega o arquivo zuado e o erro acontece.

    Procura nas configurações algo como: “Character encoding”.
    Deixe como padrão o UTF-8.
    Se já estiver em UTF-8, talvez o problema seja aquele BOM adicionado no início do arquivo…
    Mais sobre o BOM(que é uma bomba).
    http://unicode.org/faq/utf_bom.html#BOM

    Editando páginas em UTF-8 você precisa colocar no Head do (X)HTML a meta tag:

    http-equiv=”Content-Type” content=”text/html; charset=UTF-8″

    falow!

  5. Era exatamente pela codificação…

    Valeu pessoal pelos comentários!

    Long Live CakePHP!

  6. Pessoal estou com um problema muito estranho na minha aplicação, uso o editor Aptana e salvo meu arquivos como UTF-8, quando mando validadar no w3c ele me retorna uma “warning” dizendo: Byte-Order Mark found in UTF-8 File. ! O que isso pode ser ?
    E outra coisa muito esquisita, é que o html renderizado pelo cake fica totalmente zoneado, quando meu código HTML nas views e no layout são corretamente identados.

  7. Moral da historia, eu devo sempre transferir todos meus sites usando apenas o binary?
    Fotos, imagens, mp3 também ???

  8. Túlio, no caso da tela branca, aqui também acontecia mas somente quando eu zerava o debug no core.php

  9. oi Túlio, estava com uma tela branca aqui me tirando os cabelos e não conseguia solução com as dicas que encontrei.

    Reparei que quando colocava na linha 216:
    die($controller->output); em vez de echo($controller->output);

    Tudo funcionava bem. Porém não quis alterar esta classe.

    Coloquei um die(); na última linha do app/webroot/index.php e agora tudo funciona perfeitamente. Acho até que está mais rápido.

    Você já viu isso? Acha que terá alguma contraindicação este die no final do index.php?
    Obrigado.

  10. Faltou dizer que é na linha 216 do cake/dispatcher.php. Abs

Deixe uma resposta