No, a ver ...
El tema ha llegado a un punto que he creado dos archivos PHP:
db_local.php
db_remote.php
Ambos tienen este codigo:
Código PHP:
if(!($bdconnect_tpv = mysql_connect($ip, $user, $pass)))
{
echo "Error de conexion";
}
else
{
echo "Conexión correcta";
}
Logicamente en uno la variable $ip es "localhost" y en otro la IP del servidor remoto.
Pues bien, si ejecuto ambos archivos desde mi navegador ... el db_remote.php falla pero el db_local.php no falla (logico, conectar la BD local del propio VPS no hay conexion entre servidores).
Hasta aqui, podriamos pensar lo que dices, que es el firewall (el de BD descartado, porque desde otros servidores si funciona).
Pero si yo me conecto por TELNET al servidor y ejecuto en la consola:
php db_remote.php
FUNCIONA.
Si funciona ejecutando eso, quiere decir que el firewall no es, porque hace la misma conexion que cargando el archivo mediante el navegador.
Es decir, el problema esta en el APACHE ya que ejecutando el PHP a pelo si va.
Logicamente en ambos casos db_local.php funciona, ya que ahi si que es una conexion local.
Otra muestra de que el problema esta en apache y no en el firewall, es que hay otro programa en el VPS (programado en C# corriendo en mono) que usa el mismo usuario, contraseña, puerto y base de datos y conecta. Por tanto, si fuera el firewall o el puerto tambien fallaria.
Saludos.