php.ini:
zend_optimizer.enable_loader=0
O erro foi enigmático, embora ...
Estou implantando um aplicativo em um servidor no Japão. O aplicativo é um produto que minha empresa está vendendo e foi instalado com sucesso em muitos outros servidores sem esses problemas. O aplicativo é escrito em PHP / CodeIgniter e o mesmo pacote foi testado com sucesso em outros servidores.
O problema é que o aplicativo mostra apenas alguns pontos de interrogação (e, em seguida, ele morre com um erro, que uma determinada classe não é encontrada, embora o mesmo código funcione em outro servidor). Alguns arquivos de aplicativo estão codificados com o Zend Guard-Zend Optimizer disponível em ambos os servidores. O que eu tentei / descobri:
1) A versão principal do PHP em ambos os servidores é a mesma - 5.2.x
2) As versões do Zend Optimizer são as mesmas - 3.3.9
3) Os pontos de interrogação são, na verdade, pontos de interrogação - canalizou a saída para o arquivo com o wget e o abriu no editor HEX - o arquivo contém principalmente 3F, com alguns símbolos aleatórios HEX entre:
0000000: 3f3f 3f3f 3f3f 3f3f 3f3f 3f01 3f3f 3f3f ???????????.????
0000010: 3f3f 3f3f 3f3f 3f3f 3f3f 203f 3f3f 3f3f ?????????? ?????
0000020: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000030: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000040: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000050: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000060: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000070: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000080: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000090: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
00000a0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
00000b0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
00000c0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
00000d0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
00000e0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
00000f0: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000100: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000110: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000120: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
0000130: 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f 3f3f ????????????????
4) Eu suspeito, que o problema está relacionado com as configurações do PHP - até agora, eu tentei definir o default_charset como 'utf-8' no php.ini, mas isso não muda nada.
5) A saída esperada para o ponto em que o aplicativo trava não deve ser nada - nenhuma saída. Em vez disso, recebo a saída acima (continua dessa maneira).
6) O PHP é executado sob o Apache como um módulo.
Alguma idéia do que pode causar isso? Os arquivos foram copiados para o servidor scp'ing o arquivo e descompactá-lo no servidor.
Estes são os cabeçalhos de resposta - não vejo nada suspeito lá.
Date Mon, 31 Jan 2011 16:09:34 GMT
Server Apache/2.0.63 (Red Hat)
Content-Length 5339
Keep-Alive timeout=15, max=100
Connection Keep-Alive
Content-Type text/html; charset=utf-8
Eu fiz essa pergunta no stackoverflow.com primeiro, mas decidi republicar aqui: link
EDIT: Eu acho que estou chegando a algum lugar, o problema é com o Zend Optimizer. A substituição dos arquivos codificados ajudou e a saída é conforme o esperado. Isso cria outro problema - como saber o que está errado com o Zend Optimizer? Os arquivos codificados foram testados em diferentes servidores com a mesma versão do Zend Optimizer, e eles rodam bem. Versões PHP são 5.2.14 no servidor que funciona, vs 5.2.13 no servidor onde os arquivos codificados não funcionam.
php.ini:
zend_optimizer.enable_loader=0
O erro foi enigmático, embora ...
Tags php apache-2.2