Dois MySQL’s (versão 4 e versão 5) e dois Apache’s com PHP (versão 4 e versão 5) na mesma máquina
Posted by: Tiago Cruz in LinuxImagine que você tem um servidor LAMP redondinho, com Apache2, PHP5 e MySQL5 mas que por motivos maiores você precise colocar nesse mesmo servidor um outro apache com PHP4 e MySQL4, por exemplo. Você terá que resolver vários pequenos problemas (porta e IP para escutar, por exemplo) mas o mais chato e menos documentado é com relação ao Socket padrão que o PHP usa para falar com o MySQL correto. Isso precisa ser definido na hora da compilação do MySQL e também no PHP, embora o mesmo tenha opção para alterar pos-compilação, só me parece funcionar adequadamente no PHP5.
Estou usando prefixos customizados mas você não precisa faze-lo. O MySQL5 está com o socket em /tmp/mysql.sock, portanto certifique-se de alterar isso na compilação do MySQL4:
# cat /data/dbms/mysql4/source/compila.sh
#!/bin/bash
./configure \
“–prefix=/data/dbms/mysql4/bin-4.1.22″ \
“–enable-thread-safe-client” \
“–with-pthread” \
“–with-unix-socket-path=/tmp/mysql4.sock” \
“–with-tcp-port=3309″ \
Na compilação do PHP, confirme essas informações:
# cat /data/php/php4+mysql4/source/compila.sh
./configure \
–prefix=”/data/php/php4+mysql4/bin-4.4.7″ \
–with-freetype-dir=”/usr/lib64″ \
–with-zlib \
–with-jpeg-dir=”/usr/lib64″ \
–with-gd \
–with-mysql=”/data/dbms/mysql4/bin” \
–with-mysql-sock=”/tmp/mysql4.sock” \
–with-ttf \
–with-confdata-file-path=”/data/php/php4+mysql4/bin-4.4.7″ \
–with-apxs2=”/data/http_servers/apache2+mysql4+php4/bin-2.2.4/bin/apxs” \
–with-mime-magic=”/data/http_servers/apache2+mysql4+php4/bin-2.2.4/conf/magic” \
Depois apenas verifique se a porta e o socket estão corretos nos arquivos de configuração e no phpinfo:
# cat /data/dbms/mysql4/bin/var/my.cnf
[client]
port = 3309
socket = /tmp/mysql4.sock[mysqld]
port = 3309
socket = /tmp/mysql4.sock# cat /data/php/php4+mysql4/bin-4.4.7/php.ini
mysql.default_port = 3309
mysql.default_socket = /tmp/mysql4.sock
E seja feliz com seu LAMP duplo ![]()

Entries (RSS)