PHP5.3 mit MySQL4.0

Moin!

Wenn ich versuche, ein PHP-Script (5.3, CGI) an eine MySQL-Datenbank (4.0) connecten zu lassen, bekomme ich die Fehlermeldung, dass PHP5 nicht an 4.0 connecten kann.
Eine Recherche bringt zum Tage, dass ein neuer Connector (mysqli) unter PHP5 die Ursache ist.

Kann man auch wieder den alten Connector (mysql) verwenden? Wenn ja, was muss wo eingestellt werden. Meine Recherche ergibt etwas von Änderung an der php.ini, auf die hat man aber bei einem gewöhnlichen Hoster keinen Zugriff, oder? Gibts da auch die Möglichkeit einer globalen Einstellung, so wie beim Apache mit .htaccess?

Vielen Dank,
-Efchen

Hallo Efchen,

vorab: Ich bin KEIN PHP-Experte. Dennoch:

„The MySQL native driver for PHP is an additional, alternative way to connect from PHP 5.3 or newer to the MySQL Server 4.1 or newer“

&

„The MySQL native driver for PHP does not support the MySQL Server 4.0 or earlier. The MySQL Server 4.0 is no longer supported by MySQL as of 2008-12-31, see also MySQL Lifecycle Policy.“

Quelle:

http://dev.mysql.com/downloads/connector/php-mysqlnd/

In dem Artikel wird auch auf andere Möglichkeiten als mit „mysqlnd“ hingewiesen.

Du schreibst:

„Meine Recherche ergibt etwas von Änderung an der php.ini, auf die hat man aber bei einem gewöhnlichen Hoster keinen Zugriff, oder?“

Hängt davon ab, was du unter „gewöhnlichen Hoster“ verstehst. Wenn du Shell-Zugriff hast, solltest du „eigentlich“ auch Zugriff haben (Achtung: Kann durchaus durchaus mehrere PHP-Inis geben).

Was spricht dagegen, MYSql auf zumindest 4.1 upzudaten? Die 4.0er-Version wird ja seit langem nicht mehr unterstützt?

mfg

tf

Hallo!

vorab: Ich bin KEIN PHP-Experte.

Und da antwortest DU in einem EXPERTEN-Forum? :wink:
War nur Spaß - so ähnlich wird man in manchen Unterforen nur leider angegangen…

„The MySQL native driver for PHP does not support the MySQL
Server 4.0 or earlier. The MySQL Server 4.0 is no longer
supported by MySQL as of 2008-12-31, see also MySQL Lifecycle
Policy.“

Das hört sich ja an, als würde es nicht gehen. Es sei denn, das bezieht sich nur auf „mysqlnd“ und da gäbe es Alternativen. Aber dahingehend bin ich eben auch kein PHP-Experte.

In dem Artikel wird auch auf andere Möglichkeiten als mit
„mysqlnd“ hingewiesen.

Muss ich mir mal durchlesen.

Hängt davon ab, was du unter „gewöhnlichen Hoster“ verstehst.

Keinen mit Shell-Zugriff :wink:

Was spricht dagegen, MYSql auf zumindest 4.1 upzudaten?

Der Stress, die Arbeit, die Zeit, der Aufwand für drei Websites, die Angst, die Verantwortung, ach da gibts viel :wink:

Aber ja, ich habe das schon in Betracht gezogen, zumal ich ja auch mit PHP53/MySQL5 entwickle.

Danke für Deinen Tipp, ich nehme aber auch noch gerne von anderen Antworten an!

Liebe Grüße,
-Efchen

Hallo,

vorab: Ich bin KEIN PHP-Experte.

Ich auch nicht.

Was spricht dagegen, MYSql auf zumindest 4.1 upzudaten?

Der Stress, die Arbeit, die Zeit, der Aufwand für drei
Websites, die Angst, die Verantwortung, ach da gibts viel :wink:

Ich habe das gerade für ein paar Wordpress- und MyBB-Sites gemacht.

In Wordpress: Eine Datensicherung gemacht, neue MySQL-5-Datenbank eingerichtet, in der Wordpress-config die neue Datenbank eingetragen und dann die Datensicherung in Wordpress wieder hochgeladen. Das hat einige Anläufe gebraucht, weil die Datenmenge pro Versuch begrenzt war, ging aber.

Für MyBB ging es über die Export-/Import-Funktion von phpadmin.

Dadurch mache ich mir nichts kaputt, weil die alte Datenbank ja nach wie vor existiert.

Cheers, Felix

Ich habe das gerade für ein paar Wordpress- und MyBB-Sites
gemacht.

Ich habe nur eigene Kreationen. Aber nach ein bisschen Lesen scheint es ja zumindest so zu sein, dass ich NICHT von mysql_ auf mysqli_-Kommandos umsteigen muss, ich also die Scripts nicht alle anpassen muss.

Für MyBB ging es über die Export-/Import-Funktion von
phpadmin.

Ich hab die Erfahrung gemacht, dass sich Daten nicht so leicht aus einer MySQL4.0-Datenbank in eine MySQL-5-Datenbank (und umgekehrt) austauschen lassen. Irgendwas verursacht immer Fehler, das ist jedesmal ziemlich aufwändig. Wie erwähnt, ich habe zuhause eine MySQL5-DB, beim Provider noch MySQL4.0. Daher kommen meine Ängste.

Dadurch mache ich mir nichts kaputt, weil die alte Datenbank
ja nach wie vor existiert.

Das ist die Frage, die ich noch beim Provider klären muss, wie das Update vonstatten geht. Ich glaube nicht, dass ich da zwei Webspaces gleichzeitig haben werde, aber mal sehen - Anfrage läuft.

Ist nur leider immer noch nicht geklärt, ob ich, wenn ich meine Scripts von PHP5 parsen lasse, mit minimalem Aufwand die alte Datenbank weiter verwenden kann.

Hallo

mysql und mysqli sind zwei PHP-Erweiterungen. Welche genutzt wird entscheidet sich durch den Funktionsaufruf, den du verwendest. mysqli ist für MySQL ab Version 4.1 gedacht, die Standardfunktionen wie query() sollten aber auch mit älteren Server funktionieren.

Was du vielleicht meinst sind die MySQL-Treiber libmysql und mysqlnd, wobei der letztere nur ab MySQL 4.1.3 funktioniert.

Das PHP-Handbuch sagt „The mysql extension, the mysqli extension and the PDO MySQL driver can each be individually configured to use either libmysql or mysqlnd.“

Vielleicht hast du ja Glück und die mysql-Erweiterung (ohne i) ist auf libmysql eingestellt.

Gruß, sigterm

Moin,

mysqli ist für MySQL ab Version 4.1 gedacht, die
Standardfunktionen wie query() sollten aber auch mit älteren
Server funktionieren.

Eben das ist nicht der Fall. Lasse ich meine Scripts mit mysql_connect() & Co. von PHP5 parsen, kommen seitenweise Fehler beim Zugriff auf die 4.0-Datenbank.

Vielleicht hast du ja Glück und die mysql-Erweiterung (ohne i)
ist auf libmysql eingestellt.

Anscheinend nicht :frowning:

Was kann ich da jetzt genau machen?

Danke,
-Efchen

Wird nicht angeboten! [Erledigt]
Hallo Leute,

danke für Eure Hilfe, mein Provider empfiehlt einen Umstieg auf PHP5 und MySQL5 und bietet es nicht an, mit PHP5 auf MySQL 4.0 zuzugreifen.

Damit hat sich diese Frage erledigt!

Danke an alle,
-Efchen