%20para%20de%20funcionar%20ap%C3%B3s%20atualiza%C3%A7%C3%A3o%20do%20servidor.png)
Temos um servidor localizado no local de negócios de uma empresa local executando Solaris/Apache/PHP. Recentemente, eles fizeram uma atualização para Solaris, Apache e PHP (patches de atualização de segurança, etc.). Infelizmente, isso causou a falha da parte de manipulação de imagens do nosso software. imagecreatefromjpeg() agora está gerando o seguinte erro:
Aviso: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '/path/to/file/filename.jpg' não é um arquivo JPEG válido em /path/to/file/Image.class.php na linha XX
Nenhum código PHP foi alterado durante a atualização do servidor e ele estava totalmente funcional antes das atualizações do software. Verifiquei os arquivos que estão sendo passados para imagecreatefromjpeg() e eles são realmente válidos (eles abrem com sucesso no software de edição de imagens e no meu navegador). Verifiquei as permissões do diretório onde os arquivos estão sendo abertos e eles têm permissão de leitura. A biblioteca GD está habilitada.
Não tenho certeza do que mais posso verificar. Com base no cenário acima, suponho que algo mudou no software, mas não sei o que poderia ser. PHP era a versão 5.2.5 e agora é 5.2.13.
Agradeço qualquer orientação sobre o que poderia ser a causa desse problema.
Responder1
Ideias..
- php.ini foi substituído, alterado ou não está sendo lido. Compare o backup com o atual no sistema.
- O novo pacote é compilado com diferentes opções. Compare o novo e o antigo executando
php -i
Eu sei que não parece relacionado, mas verificar fundamentos como permissões e disponibilidade de recursos (memória) também pode ajudar a isolar o problema.
Existem outros erros?
Responder2
Aparentemente, as bibliotecas jpeg mais recentes não eram compatíveis com outras coisas no sistema. Assim que voltamos para as antigas bibliotecas JPEG, ele começou a funcionar novamente.