Database problem when updating PHP from 5.4 to 5.5

Having trouble installing serendipity?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Database problem when updating PHP from 5.4 to 5.5

Post by garvinhicking »

Hi!

Es scheint daran zu liegen wie du den Datenbank-Hostnamen eingegeben hast. Du hast wohl einen Doppelpunkt darin. Der Doppelpunkt muss eigentlich eine Zahl dann enthalten, nämlich den Datenbankport.

So etwas wie:

db123123.oneandone.com:3306

wenn da aber bei Dir ein Socketname drinsteht, also z.B:

db123123.oneandone.com:/tmp/lib/mysqld.sock

Dann klappt das so für Serendipity nicht, das ist nicht vorgesehen. Setze also entweder die korrekte Portnummer ein, oder (besser) lasse das ganz weg, so dass da nur steht:

db123123.oneandone.com

Und dann sollte alles mit MySQLi klappen.

Dein anderer Fehler, falls das jemand hier im Board liest, lag daran dass Du eine Leerzeilke am Anfang oder Ende der Datei serendipity_config_local.inc.php eingefügt hast.

LG,
Garvin
schimanke wrote:Okay, I set the production variable and received the following error:

== TESTING ERROR MODE ==

mysqli_connect() expects parameter 5 to be long, string given in /.../serendipity/include/db/mysqli.inc.php on line 236

I hope it tells you anything about what's going on there... :-)
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
schimanke
Regular
Posts: 161
Joined: Mon Jan 07, 2008 4:38 pm
Location: Hameln, Germany
Contact:

Re: Database problem when updating PHP from 5.4 to 5.5

Post by schimanke »

Klappt leider auch nicht: serendipity error: unable to connect to database - exiting.

Anscheinend möchte der 1&1-Server das Socket irgendwie übergeben bekommen. Dies steht auch so in der Dokumentation (siehe auch meinen zweiten Post in diesem Thread):
mysqli.php
<?php
$host_name = "localhost";
$database = "db480577850";
$user_name = "dbo480577850";
$password = "<Geben Sie hier Ihr Passwort ein. >";

$socket = "/tmp/mysql5.sock";
gegenüber
mysql.php
<?php
$host_name = "localhost:/tmp/mysql5.sock";
$database = "db480577850";
$user_name = "dbo480577850";
$password = "<Geben Sie hier Ihr Passwort ein. >";
Eine solche Socket-Variable kann ich aber in der serendipity_config_local.inc.php nicht setzen, oder?!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Database problem when updating PHP from 5.4 to 5.5

Post by garvinhicking »

Hi!

Einen festen Socket-Parameter gibt es so nicht. Mit "localhost" nur als Host klappt es also nicht? Wie genau ist die Fehlermeldung dann im production=false Modus?

Du kannst den default mysqli socket jedoch per php.ini setzen, also in der serendipity_config_local.inc.php z.B. via:

Code: Select all

ini_set("mysqli.default_socket", '/tmp/mysql5.sock');
Dass 1&1 das als standard php.ini Parameter sinnvollerweise setzen sollte, muss ich nicht extra erwähnen, oder? ;)

Probier alternativ auch mal '127.0.0.1' als Host, das könnte dann über TCP/IP statt über Socket laufen.
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
schimanke
Regular
Posts: 161
Joined: Mon Jan 07, 2008 4:38 pm
Location: Hameln, Germany
Contact:

Re: Database problem when updating PHP from 5.4 to 5.5

Post by schimanke »

Korrekt, nur mit "localhost" als Host funktioniert es nicht. Ich habe nun verschiedene Konfigurationen noch einmal ausprobiert. Hier die Ergebnisse:
PHP 5.5 - Test mit localhost
== TESTING ERROR MODE ==

mysqli_connect(): (HY000/2002): No such file or directory in /.../serendipity/include/db/mysqli.inc.php on line 239

PHP 5.5 Test mit 127.0.0.1
== TESTING ERROR MODE ==

mysqli_connect(): (HY000/2002): Connection refused in /.../serendipity/include/db/mysqli.inc.php on line 239

-------------------------------------------------------------------------------

PHP 5.4 mit localhost
== TESTING ERROR MODE ==

mysqli_connect(): (HY000/2002): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /.../serendipity/include/db/mysqli.inc.php on line 239

PHP 5.4 mit 127.0.0.1
== TESTING ERROR MODE ==

mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '127.0.0.1' (111) in /.../serendipity/include/db/mysqli.inc.php on line 239
Auch das Setzen des default mysqli socket über die php.ini hat leider keinen Erfolg gebracht.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Database problem when updating PHP from 5.4 to 5.5

Post by garvinhicking »

Hi!
Auch das Setzen des default mysqli socket über die php.ini hat leider keinen Erfolg gebracht.
Du solltest das nicht in der php.ini setzen, sondern bestenfalls über ini_set() in der serendipity_config_local.inc.php wie geschrieben, oder meinst Du das?

Die Fehlermeldungen beziehen sich ja noch auf /tmp/mysqld.sock - das sieht dann so aus, als wäre das setzen der Socket-Option nicht ganz korrekt.

Frag am besten mal beim 1&1 Support nach, dass dort bitte die Defaulteinstellung von /tmp/mysqld.sock auf /tmp/mysql5.sock geändert wird, denn das wäre ja auch ein Versäumnis des korrekten Setups dort...
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
schimanke
Regular
Posts: 161
Joined: Mon Jan 07, 2008 4:38 pm
Location: Hameln, Germany
Contact:

Re: Database problem when updating PHP from 5.4 to 5.5

Post by schimanke »

Nee, ich habe das schon in der serendipity_config_local.inc.php gesetzt. Da es sich um einen Managed Sevrer handelt, komme ich an die php.ini als solche auch gar nicht ran. ;-)

Okay, ich habe das mal an den 1&1 Support weitergegeben. Mal sehen, was die draus machen.
Post Reply