esdras_laroque
(usa Debian)
Enviado em 08/11/2013 - 22:45h
Também tive este problema. Sei que esse tópico é antigo, mas caso alguém chegue até ele pelo google, vou deixar a solução deste problema registrado.
Então.. estudando sobre esse bug e com base na análise dos logs de erro do Apache2, consegui descobrir que esse é um bug que apareceu a partir do PHP 5.3 e com versões antigas do Ocomon. (Na verdade, não testei com as RC mais novas. Estou usando a versão 2.0RC4.1)
O fato é que na atualização do PHP para 5.3, uma função foi incluída como nativa e esta mesma função está declarada com o mesmo nome no arquivos de "funcoes.inc" do Ocomon. Causando o erro de "tela branca" e disparando o erro em log:
PHP Fatal error: Cannot redeclare date_diff() in [document_root]/includes/functions/funcoes.inc on line 534
A solução é redefinir o nome desta função do Ocomon, para eliminar o conflito com o PHP.
Edite os seguintes arquivos dentro do diretório raiz do Ocomon:
./ocomon/geral/mostra_chamados.php
./ocomon/geral/mostra_resultado_consulta.php
./ocomon/geral/abertura_user.php
./ocomon/geral/abertura.php
./includes/functions/funcoes.inc
./invmon/geral/consulta_garantia.php
./invmon/geral/consulta_garantia_piece.php
Procure por todas as ocorrências de "date_diff" e altere pra outro nome, por exemplo: date_diff1
Obs: Existem outras ocorrências que serão encontradas para "date_diff2" e "date_diff_dias", mas essas não necessitam de alteração. Elas não conflitam com a função nativa do PHP 5.3
Após as edições, é aconselhável fazer um restart no Apache e pronto! O sistema é apresentado no browser, normalmente.
PS: Acredito que esse problema já foi resolvido nos RC mais atuais do Ocomon. Passei por este problema porque precisei recuperar um servidor e só precisei voltar a versão que já era usada em produção, pra evitar ter que fazer atualização da base de dados sem antes testar a aplicação, como funcionava antes do crash.
É isso aí. Espero que este registro possa ajudar mais alguém. ;)