Eu conectei um openSUSE LAMP e um servidor Ubuntu LAMP ao DB2 usando o ODBC. O sistema openSUSE que estamos usando para um ambiente de desenvolvimento, e a implementação final deve estar no sistema Ubuntu. No Ubuntu, obtemos segfaults quando as instruções SQL retornam nulos (veja links para relatórios de bugs relacionados), mas isso não acontece no openSUSE. Ambas as máquinas estão rodando 64-bit, aqui estão as versões das duas caixas e seu software:
OS Version Kernel Apache PHP
openSUSE 12.2 3.4.11-2.16-default 2.2.22 5.3.15
Ubuntu 11.04 2.6.38-11-server 2.2.17 5.3.22-1~dotdeb.0
(upgraded from 5.3.5-1ubuntu7)
Lendo o changelog no php.net, parece que o bug foi corrigido no 5.3.11, mas a atualização ainda não resolveu nosso problema. Eu finalmente comparei a saída phpinfo () de ambos os servidores linha por linha e encontrei uma parte que parece uma bandeira vermelha, mas não tenho idéia de como corrigir isso. Na seção ODBC, a opção ODBC_LFLAGS mostra:
openSUSE -L/usr/lib64
Ubuntu -L/usr/lib
Ambos os sistemas são de 64 bits e estão configurados para usar a versão de 64 bits do iSeriesAccess e unixODBC. O iSeriesAccess teve que ser convertido do RPM usando o alien como a IBM não suporta o Ubuntu. Infelizmente, a atualização do Ubuntu ou a troca de distros não são opções para nós. Como posso mudar o Ubuntu para usar / usr / lib64 para ODBC_LFLAGS? Também há algum outro problema que eu possa ter negligenciado?