MySQL 4.0, PHP 5.3 e Server 2008

1

Logo de cara, eu sei que essas duas versões não funcionam bem juntas, mas estranhamente o XAMPP de alguma forma permite que isso aconteça. Temos uma máquina rodando o XAMPP que de alguma forma (além de mim) permite que o PHP 5.3.1 converse com um banco de dados MySQL 4.0.18. Nós tentamos duplicar esta configuração (menos XAMPP) e instalar a mesma versão do Apache, MySQL e PHP em uma nova máquina, mas logicamente estamos presos tentando contornar a seguinte mensagem de erro:

Warning: mysql_connect(): Connecting to 3.22, 3.23 & 4.0 is not supported. Server is 4.0.18-max-debug in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\nktest.php on line 3 Warning: mysql_connect(): Connecting to 3.22, 3.23 & 4.0 servers is not supported in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\nktest.php on line 3 Failed: Connecting to 3.22, 3.23 & 4.0 servers is not supported

Infelizmente, estamos presos ao MySQL 4.0.18 porque o aplicativo que estamos executando nessa caixa requer e vem com uma versão pré-compilada. Nós também precisamos usar o PHP 5.3 por causa de outro pacote que depende disso, portanto estamos presos. Eu tentei descobrir o que o XAMPP está fazendo nos bastidores para fazer tudo isso funcionar, mas não consigo fazer sentido.

Em suma, alguém sabe de uma maneira de habilitar a conectividade com um banco de dados MySQL 4.0.18 com PHP 5.3.1 em uma máquina Windows Server 2008? O aplicativo precisa de acesso a todas as funções padrão da biblioteca MySQL, ou seja, mysql_connect (), portanto, o uso estrito do mysqli não é uma opção.

    
por Nicholas Kreidberg 18.03.2011 / 21:05

2 respostas

0

Acabamos conseguindo esse trabalho fazendo duas coisas:

1) Compile o PHP 5.3.1 no Windows com o sinalizador --disable-mysqlnd 2) Omitir mysqli da compilação.

O PHP 5.3.1 está agora falando com o MySQL 4.018, phew.

    
por 28.03.2011 / 21:06
1

O XAMPP faz alguns hackers que não são estritamente seguros para serem executados em um servidor voltado para a Web para que isso aconteça

existe alguma razão pela qual você não pode executar 2 binários php no seu sistema e chamar a versão mais antiga para o site que precisa do db mysql4, existe também alguma razão pela qual a versão pré-construída não pode ser atualizada ou substituída? Certamente o aplicativo pode ser separado do banco de dados de tal forma que ele não precise de sua própria versão pré-construída?

a outra opção seria colocar o aplicativo mysql4 em uma VM no servidor para rodar uma versão mais antiga do php, e então você poderia rodar as versões mais recentes do mysql e php para seus outros sites

    
por 18.03.2011 / 21:14