REDAXO – Lost connection to MySQL server at ‘reading initial communication packet’
Als wir letztens REDAXO auf einen Fremdserver installiert hatten, wurden wir mit der folgenden Fehlermeldung konfrontiert:
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at ‘reading initial communication packet’, system error: 111
Dieser Fehler taucht auf, wenn man einen Host-Alias als DB-Hostname verwendet. z.B:
mysql5-11.xxl
Um REDAXO zu überzeugen eine Verbindung aufzubauen, muss man den korrekten Hostname ermitteln, indem man /etc/hosts per PHP ausliesst:
<?php
$x = file_get_contents('/etc/hosts');
echo '<pre>';
print_r($x);
echo '</pre>';
?>
Wenn man den Code oben ausführt, wird eine liste der internen DB-Hostnamen angezeigt.
10.0.61.201 mysql5-1 mysql5-1.xxl mysql5-1.ovh.net
10.0.61.202 mysql5-2 mysql5-2.xxl mysql5-2.ovh.net
10.0.61.203 mysql5-3 mysql5-3.xxl mysql5-3.ovh.net
10.0.61.204 mysql5-4 mysql5-4.xxl mysql5-4.ovh.net
10.0.61.205 mysql5-5 mysql5-5.xxl mysql5-5.ovh.net
10.0.61.206 mysql5-6 mysql5-6.xxl mysql5-6.ovh.net
10.0.61.207 mysql5-7 mysql5-7.xxl mysql5-7.ovh.net
10.0.61.208 mysql5-8 mysql5-8.xxl mysql5-8.ovh.net
10.0.61.209 mysql5-9 mysql5-9.xxl mysql5-9.ovh.net
10.0.61.210 mysql5-10 mysql5-10.xxl mysql5-10.ovh.net
10.0.61.211 mysql5-11 mysql5-11.xxl mysql5-11.ovh.net
10.0.61.212 mysql5-12 mysql5-12.xxl mysql5-12.ovh.net
In dem Fall brauchten wir nur mysql5-11.ovh.net als Hostname in master.inc.php einzutragen um das Problem zu beheben.