Zend Server beherrscht jetzt PHP 7

Nach der Übernahme von Zend im Oktober 2015 hat Rogue Wave jetzt das erste große Zend Server Release bekannt gegeben. Die Version 9 des Applikationsservers kann mit dem im Dezember 2015 veröffentlichten PHP 7 umgehen, was die Anwendungen merklich schneller machen soll. Weitere Neuerungen sind Möglichkeiten zum Code Tracing und Black Box Recording, die bei der Entwicklung und im Betrieb helfen können, Fehlerquellen schneller zu finden. Mit diesem Update stellt Rogue Wave außerdem Zend Server Professional Plus und Zend Server Enterprise Edition vor. Abonnenten dieser beiden Dienste können sich nicht nur bei Fragen zu Zend Server selbst an den Support des Unternehmens wenden, sondern sie haben auch Zugriff auf Experten zu weiteren Themen wie beispielsweise CentOS, Apache, MySQL und PHP. Damit will Rogue Wave Hilfe beim Umgang mit dem Open-Source-Stack unter auf Zend Server gehosteten PHP-Anwendungen bieten.

2016-05-13T15:15:14+02:00Mai 13th, 2016|Allgemein, Webwerkzeuge|Kommentare deaktiviert für Zend Server beherrscht jetzt PHP 7

Datenbank-Proxy MaxScale von MariaDB

Das durch seine gleichnamige Datenbank bekannte Unternehmen MariaDB hat mit MaxScale ein neues, quelloffenes Tool bereitgestellt, mit dem man seine Datenbankinfrastruktur bei Bedarf schnell ändern kann, ohne dabei den Code auf der Ebene der Anwendungen anpassen zu müssen. Der Proxy ist also eine Art Abstraktionsschicht zwischen Anwendung und Backend, wobei in letzterem aktuell nur MySQL- und MariaDB-Datenbanken vorgesehen sind. MaxScale beherrscht nach Herstellerangaben Load Balancing für MariaDB Galera Cluster und Master-Slave Replication, sowie MySQL Server Replication. Beim Ausfall einzelner Knoten soll der Proxy außerdem dafür sorgen, dass das keine merklichen Ausfallzeit verursacht.

2015-01-19T00:20:12+02:00Januar 19th, 2015|MySQL, PHP|Kommentare deaktiviert für Datenbank-Proxy MaxScale von MariaDB

Die Version 5.3 der beliebten Scriptsprache PHP ist am Ende

PHP 5.3 ist inzwischen fünf Jahre alt und hat nun sein “End of Life” erreicht. Für den 5.3er Zweig soll es nach dem letzte Woche ausgelieferten 5.3.29 keine weiteren Updates mehr geben. Spätestens jetzt sollte man von dieser Version der beliebten Skriptsprache auf ein aktuelleres PHP wie 5.4 oder 5.5 oder das in Kürze erscheinende 5.6 wechseln. PHP 5.3 kam im Jahr 2009 heraus und war seinerzeit ein Meilenstein. Die 5.3er Version brachte Namespaces, späte Bindung, einen neuen Garbage Collector und ein eigenes MySQL-Client-Protokoll. Für das Update eines Softwaresystems auf PHP 5.4 gibt es schon längere Zeit eine Anleitung, ebenso für den Wechsel von PHP 5.4 auf PHP 5.5, die heute noch aktuelle Sprachversion. Nachfolger der Hauptversion PHP 5 wird übrigens aus einer ziemlich verrückten Entscheidung heraus nicht  PHP 6, sondern PHP 7.

2014-08-18T16:07:54+02:00August 18th, 2014|PHP|Kommentare deaktiviert für Die Version 5.3 der beliebten Scriptsprache PHP ist am Ende

MySQL bekommt jetzt auch JSON

Konkurrent PostgreSQL beherrscht Funktionen für die Verarbeitung des JSON-Formats (JavaScript Object Notation) schon längere Zeit, bei Oracles relationaler Datenbank MySQL fehlen die bisher. In einem Blog-Beitrag bestätigt Ulf Wendel jetzt, dass gerade daran gearbeitet wird. Wendel beschreibt die im MySQL-Labor angebotenen JSON-Funktionen ausführlich. Implementiert sind sie bisher als User-defined Functions (UDF), die man in einen laufenden MySQL-Server laden kann. Das klappte beim Testen auch mit MySQL 5.6.10, man braucht also nicht unbedingt die aktuell in Arbeit befindliche Version 5.7 verwenden. Noch gibt es in den UDFs aber einige Fehler und Ungereimtheiten. So bewertet beispielsweise JSON_VALID() die Konformität von Strings häufig falsch, das Suchen nach Werten klappt noch nicht zuverlässig und es fehlen dazu auch Komfortfunktionen wie reguläre Ausdrücke (RegEx). Außerdem bemängelt Wendel die Nutzung von TEXT/BLOB-Spalten für das Speichern von JSON, weil dadurch schon mittelgroße Dokumente außerhalb der aktuellen Speicherseite gespeichert würden, was dann zusätzlichen I/O-Traffic hervorruft. Bis die Technik für den Produktivbetrieb eingesetzt werden kann, müssen diese Bugs vom Tisch sein. Wer sich als Entwickler an MySQL und dessen Tools gewöhnt hat, wird sich freuen, diese Funktionalität bald auch bei der Mutter aller freien Datenbanken MySQL zu finden.

2013-10-11T19:22:07+02:00Oktober 11th, 2013|MySQL|Kommentare deaktiviert für MySQL bekommt jetzt auch JSON

If-Bedingung mit MySQL statt PHP

Häufig soll eine Ausgabe vom Inhalt eines Tabellenfeldes einer SQL-Datenbank abhängig gemacht werden. Hier ein Beispiel dazu in PHP, bei dem in einer Personenliste durch ein Bild gekennzeichnet werden soll, ob es sich um eine Frau oder einen Mann handelt: while ($zeile = mysql_fetch_array( $ergebnis )) {     if ($zeile['geschlecht'] == 1)     {         echo '<img src="frau.png" />';     }     elseif ($zeile['geschlecht'] == 0)     {         echo '<img src="mann.png" />';     } } Das lässt sich mit einer IF-Bedingung direkt in MySQL deutlich eleganter lösen: $sql = "SELECT IF(`geschlecht`=1, 'frau.png', 'mann.png') as `sex`         FROM `tabelle`"; // Die Ausgabe dazu... while ($zeile = mysql_fetch_array( $ergebnis )) {     echo '<img src="' . $zeile['sex'] . '" />'; }

2013-07-30T09:05:49+02:00Juli 30th, 2013|MySQL, PHP|Kommentare deaktiviert für If-Bedingung mit MySQL statt PHP

phpMyAdmin 4.0 jetzt ohne Frames

Mit der neuen Version 4.0 des Datenbankeditors phpMyAdmin, die jetzt zum Download bereitsteht, wurde endlich mit den HTML-Frames Schluss gemacht. Stattdessen wurde eine Baumstruktur in JavaScript für die Navigation eingeführt. Jeder, der Internetseiten erstellt und dazu auch die MySQL-Datenbank nutzt, kennt phpMyAdmin. Das Programm ist ein in PHP geschriebenes Werkzeug, das zur Administration und Pflege von MySQL-Datenbanken über das Internet gedacht ist. Mit phpMyAdmin kann der Entwickler Datenbanken erstellen und löschen, Tabellen und Spalten erstellen, löschen oder ändern, Indizes von Spalten verwalten und SQL-Anweisungen ausführen.

2013-05-06T08:10:26+02:00Mai 6th, 2013|Allgemein, Webwerkzeuge|3 Kommentare

Joomla 2.5 mit neuen Funktionen

Das Open Source CMS Joomla kommt in der neuen Version 2.5 mit einigen Neuerungen daher. Dazu gehört zum Beispiel die erweiterte Suchfunktion, die nun mit Wortstämmen und automatischer Vervollständigung arbeiten kann. Die Suche an sich soll auch deutlich schneller geworden sein und dabei auch natürliche Sprache erkennen können. Für den Webseitenersteller könnte interessant sein, dass Joomla jetzt nicht mehr nur MySQL unterstützt. Version 2.5 arbeitet auch mit dem Microsoft SQL-Server, in Kürze sollen auch PostgresSQL, SQLite, Oracle und PDO mit Joomla zusammenarbeiten. Die mit Joomla 1.6 eingeführten automatischen Updates informieren den Admin jetzt auch, wenn ein Update zur Installation bereitsteht. Im Joomla-Blog findet man weitere Details.

2012-01-26T09:13:37+02:00Januar 26th, 2012|PHP|Kommentare deaktiviert für Joomla 2.5 mit neuen Funktionen

MySQL: Nehme ich JOIN oder WHERE?

Als SQL-Programmierer steht man häufig vor der Frage, was eine bessere Performance hat, ein schwieriger zu lesender und verstehender JOIN oder eine entsprechende WHERE-Klausel. Als Beispiel seien hier zwei verschiedene Wege zu einer Abfrage gezeigt, mit der alle Kunden ausgewählt werden, bei denen die Kundennummer und der Typ in den beiden Tabellen kunden und kunden_tel übereinstimmen und die eine Kundennummer  größer als 1 haben: SELECT * FROM kunden JOIN kunden_tel ON (kunden.nr = kunden_tel.kunden_nr AND kunden.typ = kunden_tel.kunden_typ) WHERE kunden.nr > 1;   SELECT * FROM kunden, kunden_tel WHERE kunden.nr = kunden_tel.kunden_nr AND kunden.typ = kunden_tel.kunden_typ AND kunden.nr > 1; Beide Abfragen wurden auf eine Kundentabelle mit ca. 50.000 Datensätzen und eine Telefontabelle mit ca. 200.000 Einträgen losgelassen, das Resultat für die beiden Varianten war nahezu gleich bei 15,5 Sekunden. Die Variante SELECT mit WHERE war marginal schneller. Deshalb sollte man überlegen, diese häufiger vorkommende Variante, die auch auf Anhieb von mehr Programmierern verstanden wird, zu wählen. Wenn schon kein nennenswerter Geschwindigkeitsgewinn erzielt werden kann, sollte man die für Andere leichter lesbare Variante nutzen.

2011-07-25T08:23:21+02:00Juli 25th, 2011|MySQL|Kommentare deaktiviert für MySQL: Nehme ich JOIN oder WHERE?

PHP/MySQL: Die ID eines neuen Datensatzes

Man hat schon so manchen schrägen Trick gesehen, um die ID eines neu angelegten Datensatzes herauszubekommen. Viele Leute schreiben mit dem INSERT einen definierten Wert, zum Beispiel "neu" in eines der Datenfelder, um dann genau diesen Wert in der Tabelle zu suchen und dann alle Daten in per UPDATE in den Datensatz zu schreiben. Dabei geht das auch viel einfacher: <?php $sql = mysql_query("INSERT INTO kunden (Vorname, Nachname, Adresse) VALUES ('$vorname', '$nachname', '$adresse')"); $id = mysql_insert_id(); ?> Die Funktion mysql_insert_id() liefert die ID, die bei der letzten INSERT-Operation für ein Feld vom Typ AUTO_INCREMENT vergeben wurde. Wenn die Verbindungs-Kennung nicht angegeben wird, wird die zuletzt geöffnete Verbindung angenommen. Die Funktion liefert 0, wenn die vorhergehende Abfrage keinen AUTO_INCREMENT Wert erzeugt hat. Falls Sie den Wert zur späteren Verwendung speichern möchten, stellen Sie sicher, dass Sie mysql_insert_id() direkt nach der Abfrage aufrufen, die einen Wert erzeugt hat.

2011-06-20T17:18:13+02:00Juni 16th, 2011|PHP|Kommentare deaktiviert für PHP/MySQL: Die ID eines neuen Datensatzes

PHP und MySQL per mysqli

Es gibt drei verschiedene Möglichkeiten für den PHP-Programmierer, auf MySQL-Datenbanken zuzugreifen. Das sind mysql, mysqli und PDO. Üblich ist die Verwendung von mysql, denn damit bleibt man kompatibel zu 4er Versionen von PHP. PDO ist ja auch schon länger bekannt und nicht datenbankspezifisch, hat sich aber unter Entwicklern kaum verbreitet. Hier geht es um die objektorientierte mysqli-Schnittstelle, die eine elegante Programmierung und die Unterstützung von Prepared Statements bietet. Was ist also anders? Dazu ein typisches Beispiel: // Verbindung instanziieren $mysqli = new mysqli("localhost","Benutzer","Passwort","Datenbankname") // Verbindung testen if (mysqli_connect_errno()) { echo "Keine Verbindung!".mysqli_connect_error(); exit(); } // Zeichensatz einstellen $mysqli->set_charset("utf8"); … weiterer Programmcode … // Verbindung trennen $mysqli->close();

2011-05-19T08:21:53+02:00Mai 19th, 2011|MySQL, PHP|Kommentare deaktiviert für PHP und MySQL per mysqli
Nach oben