PHP dropping MySQL – eine Deprecation Notice und ihre Folgen

Aus mysql wird mysqli
Kommentare

Ein hartnäckiges Gerücht geht um: PHP lässt MySQL fallen. Dabei ist – wie üblich – alles ganz anders.

Erstaunliches tut sich im PHP-Land! Johannes Schlüter, Release Manager von PHP 5.3 und bei Oracle im MySQL-Team, wurde in letzter Zeit von verschiedenen Entwicklern gefragt, ob man bei PHP den Support für MySQL einstellen würde. Die Tatsache, dass diese Frage überhaupt gestellt wird, sollte uns nachdenklich stimmen.

Der Grund für die Verunsicherung scheint eine Fehlermeldung der folgenden Art zu sein:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

Diese Deprecation Notice wird seit PHP 5.5 ausgegeben, sobald man sich über die alte mysql-Extension mit einem MySQL-Server verbindet. Empfohlen wird ext/mysqli – die Extension erblickte mit PHP 5.0 das Licht der Welt. Und das war bekanntlich 2004.

Wieso, weshalb, warum?

Eigentlich sollte der Switch schon lange genug kommuniziert worden sein. Dennoch scheint es, als wäre ein Teil der Community verunsichert. Schlüter greift diese Situation auf und gibt in seinem Blogpost On rumors of PHP dropping MySQL eine Erklärung dafür, warum es dringend an der Zeit ist, voranzuschreiten.

The old mysql extension, ext/mysql, is old. The code goes back to the early days of PHP and MySQL and embraces some bad design decisions. For example if no explicit connection resource is passed all functions will try to use the last connection which was being used.

Schlimmer noch, denn die Extension sei so alt und immer auf Abwärtskompatibilität bedacht gewesen, dass es schwer sei, den Code zu maintainen.

Obwohl an der alten mysql-Extension nur noch das nötigste gearbeitet wurde, stellte das Team fest, dass noch immer viele Projekte ext/mysql verwendeten – unter anderem auch Schwergewichte wie WordPress. Was natürlich erklärt, warum man sich im Team dazu entschlossen hatte, einen „Soft-Deprecation“-Prozess einzuleiten. Nicht auszudenken, was passiert wäre, hätte man von heute auf morgen der Extension das Licht ausgeknipst …

Dennoch, alles hat ein Ende. Bei WordPress ist man aktuell dabei, den Switch auf ext/mysqli durchzuführen. Und auch PHP wird sich früher oder später von ext/mysql verabschieden – wenn auch wahrscheinlich nicht in PHP 5.6.

Erstaunlich ist, dass die Sache jetzt noch für Verunsicherungen in einem Teil der Community sorgt. Immerhin wurde das Thema schon sehr lange kommuniziert – auch wenn auch es erst seit letztem Jahr mit einer Deprecation Notice versehen wurde.

Was allerdings bleibt, ist eine beruhigende Nachricht: „No, PHP is not dropping MySQL support and we, Oracle’s MySQL team, continue working with the PHP community.“ Und natürlich der Hinweis, seine Projekte noch einmal nach der Verwendung der alten Extension zu durchsuchen – und auf mysqli umzuschreiben.

Aufmacherbild: an old phone as a decoration in a restaurant in Prague von Shutterstock / Urheberrecht: Heiko Kueverling

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -