Discussion:
Wer benutzt PHP 5.3 mit mysqlnd [oder auch nicht]?
(zu alt für eine Antwort)
Ulf Wendel
2011-02-17 19:00:38 UTC
Permalink
... ich wüsste gerne wer es benutzt oder es meidet. Und falls es
gemieden wird, warum.

php.net/mysqlnd
Ralf Zschemisch (r23)
2011-02-18 00:14:17 UTC
Permalink
Hallo Ulf,
Und falls es gemieden wird, warum.
Ich habe deinen Artikel in meine Todo Liste für dieses Jahr gelegt.
http://www.phphatesme.com/blog/mysql/ulf-wendel-und-das-mysql-mofa/

Ich persönlich compiliere PHP seit Jahren nicht mehr und mache zurzeit
auch einen großen Bogen um PECL. Immer wenn ich von dort etwas *eben*
installieren möchte wird dies zu einem Affentanz auf meinem System.
Und wenn ich an dem System bastel verdiene ich kein Geld.

Des weiteren habe ich noch genug Scripte in der Anwendung die noch
nicht unter PHP 5.3.x laufen.

Und ein php_mysqlnd Package gibt es für mich noch nicht.
php.net/mysqlnd
Wer versteht schon die Installations - Anleitung wenn er noch nie
compiliert hat?

Aber in diesem Jahr möchte ich auch Mova fahren können

cu

ralf
--
Pop Art Shop http://www.r23.de
Skizzen Blog http://blog.r23.de
Ulf Wendel
2011-02-18 10:42:26 UTC
Permalink
Moin Ralf!
Post by Ralf Zschemisch (r23)
Und falls es gemieden wird, warum.
Ich habe deinen Artikel in meine Todo Liste für dieses Jahr gelegt.
http://www.phphatesme.com/blog/mysql/ulf-wendel-und-das-mysql-mofa/
Ich persönlich compiliere PHP seit Jahren nicht mehr und mache zurzeit
auch einen großen Bogen um PECL. Immer wenn ich von dort etwas *eben*
Das Query Cache Plugin (mysqlnd_qc) ist Bestandteil von PECL.

Die Bibliothek (mysqlnd), welche durch das Plugin erweitert wird, ist
Bestandteil des PHP 5.3 Core. Mysqlnd lebt nicht in PECL.
Post by Ralf Zschemisch (r23)
installieren möchte wird dies zu einem Affentanz auf meinem System.
Und wenn ich an dem System bastel verdiene ich kein Geld.
Ich frage nicht nach dem Plugin (mysqlnd_qc). Ich frage nach der
Bibliothek (mysqlnd).
Post by Ralf Zschemisch (r23)
Des weiteren habe ich noch genug Scripte in der Anwendung die noch
nicht unter PHP 5.3.x laufen.
Ok, PHP 5.3 nicht im Einsatz.
Post by Ralf Zschemisch (r23)
Und ein php_mysqlnd Package gibt es für mich noch nicht.
Falls DU ein PECL-Paket meinst, so wird es das auch nie geben. Falls Du
ein Paket meinst, welches eine API wie eine der Extensions ext/mysql,
ext/mysqli oder PDO_MYSQL beinhaltet, so wird es das auch nie für
mysqlnd geben.
Post by Ralf Zschemisch (r23)
php.net/mysqlnd
Wer versteht schon die Installations - Anleitung wenn er noch nie
compiliert hat?
Ok, wer nicht kompiliert und die ggf. fetten PHP's aus den
Distributionen benutzt....

Alle PHP Windows Binaries von php.net benutzen mysqlnd.
Ralf Zschemisch (r23)
2011-02-18 11:47:15 UTC
Permalink
Am 18.02.2011 11:42, schrieb Ulf Wendel:

danke für die mail... grummel :(
Post by Ulf Wendel
Das Query Cache Plugin (mysqlnd_qc) ist Bestandteil von PECL.
Die Bibliothek (mysqlnd), welche durch das Plugin erweitert wird, ist
Bestandteil des PHP 5.3 Core. Mysqlnd lebt nicht in PECL.
ich sollte mir den Text evtl. doch noch mal durchlesen?

in meiner
~/etc/php5/conf.d/mysql.ini
wird eine mysql.so verwendet.

eine mysqlnd.ini finde ich nicht

in dem Verzeichnis
~/usr/lib64/php5/
gibt es auch keine mysqlnd.so.

Ich verwende PHP 5.3.5.-51.4
Post by Ulf Wendel
Ich frage nicht nach dem Plugin (mysqlnd_qc). Ich frage nach der
Bibliothek (mysqlnd).
Wenn diese Bibliothek Bestandteil von Php 5.3.5 ist - so finde ich diese
auf meinem System nicht.
Post by Ulf Wendel
Ok, wer nicht kompiliert und die ggf. fetten PHP's aus den
Distributionen benutzt....
Ich kompiliere zurzeit nicht mehr selbst und verwende fertige PHP's
von den Distributionen.
Post by Ulf Wendel
Alle PHP Windows Binaries von php.net benutzen mysqlnd.
mmh... ok - wenn ich unter Xampp etwas bastel steht mir
dann mysqlnd zur Verfügung ;)

phpInfo() sagt, dass ich es auf dem System habe. Dies
wusste ich bis eben nicht.

cu

ralf
--
Pop Art Shop http://www.r23.de
Skizzen Blog http://blog.r23.de
Ulf Wendel
2011-02-18 12:28:41 UTC
Permalink
Hallo Ralf,
Post by Ralf Zschemisch (r23)
danke für die mail... grummel :(
wenn ich Dich bloßgestellt oder beleidigt habe, dann möchte ich mich
entschuldigen.

Alle deine Reaktion waren sehr hilfreich für mich. Ich fürchtete schon,
daß "mysqlnd" kein Begriff ist, der jedem geläufig ist. Du bist
überhaupt keine Ausnahme. Anderen, teils sehr prominenten PHP-Anwendern,
geht es ebenso.
Post by Ralf Zschemisch (r23)
Post by Ulf Wendel
Das Query Cache Plugin (mysqlnd_qc) ist Bestandteil von PECL.
Die Bibliothek (mysqlnd), welche durch das Plugin erweitert wird, ist
Bestandteil des PHP 5.3 Core. Mysqlnd lebt nicht in PECL.
ich sollte mir den Text evtl. doch noch mal durchlesen?
Nein, nur die folgenden drei Ansätze.

Jede PHP-MySQL Anwendung benutzt eine der drei PHP Extensions mysqli,
mysql oder PDO_MySQL. Die Extensions stellen dem PHP-Anwender eine API
bereit. Die Extensions benutzen eine C-Bibliothek, um sich mit MySQL zu
verbinden.

Seit PHP 5.3 gibt es zwei C-Bibliotken, welche von den Extensions
benutzt werden konnen: libmysql[client]/MySQL Client Library und
mysqlnd. Der Quellcode von mysqlnd ist ein Bestandteil von PHP 5.3,
technisch gesehen ist es eine Extension ohne öffentliche API - ext/mysqlnd.

Bei der Kompilierung von PHP kann jede der drei PHP Extensions mysqli,
mysql oder PDO_MySQL entweder - wie seit jeher - gegen libmysql[client]
gelinkt werden oder gegen mysqlnd.
Post by Ralf Zschemisch (r23)
in dem Verzeichnis
~/usr/lib64/php5/
gibt es auch keine mysqlnd.so.
Ich verwende PHP 5.3.5.-51.4
Dann ist dein PHP ohne Support für mysqlnd gebaut worden.
Post by Ralf Zschemisch (r23)
Post by Ulf Wendel
Ok, wer nicht kompiliert und die ggf. fetten PHP's aus den
Distributionen benutzt....
Ich kompiliere zurzeit nicht mehr selbst und verwende fertige PHP's
von den Distributionen.
Damit gibt Du mir einen wichtigen Hinweis. Danke.
Post by Ralf Zschemisch (r23)
Post by Ulf Wendel
Alle PHP Windows Binaries von php.net benutzen mysqlnd.
mmh... ok - wenn ich unter Xampp etwas bastel steht mir
dann mysqlnd zur Verfügung ;)
Ich hatte gehofft die Jungs sind inzwischen umgestiegen...
Post by Ralf Zschemisch (r23)
phpInfo() sagt, dass ich es auf dem System habe. Dies
wusste ich bis eben nicht.
... auf dem XAMPP? Ok.

Danke,
Ulf
Carsten Wiedmann
2011-02-18 12:50:21 UTC
Permalink
Post by Ralf Zschemisch (r23)
in meiner
~/etc/php5/conf.d/mysql.ini
wird eine mysql.so verwendet.
Das ist eben die mysql-extension. Ob die mysql-extension die libmysql
oder mysqlnd benutzt kannst du über phpinfo() rausfinden. Oder in der Shell:
| php -i | grep 'Client API library version'
Post by Ralf Zschemisch (r23)
eine mysqlnd.ini finde ich nicht
in dem Verzeichnis
~/usr/lib64/php5/
gibt es auch keine mysqlnd.so.
mysqlnd wird eigentlich nicht shared gebaut und ist normal statisch im
Core mit drin, weshalb es normal auch keine "mysqlnd.so" gibt.

Du könntest auch hier phpinfo() befragen oder in der Shell:
| php -n -m | grep 'mysqlnd'

Sollte es doch shared gebaut sein, dann taucht es so in jedem Fall auf,
wenn vorhanden:
| php -m | grep 'mysqlnd'


Gruß,
Carsten
Karl Pflästerer
2011-02-18 16:52:00 UTC
Permalink
Post by Ulf Wendel
... ich wüsste gerne wer es benutzt oder es meidet. Und falls es
gemieden wird, warum.
Ich habe hier einen sehr gemischten MySQL Versions Zoo. Darunter sind
auch noch Server mit MySQL 4 . Solange diese existieren und produktiv
laufen werde ich PHP weiterhin mit der mysql Extension kompilieren
müssen. Damit die PHP Versionen auf verschiedenen Servern gleich sind,
kann ich erst dann mysqlnd einsetzen, wenn ich nur noch mit MySQL >= 5.0
zu tun haben werde.

Ich warte schon sehr darauf (die Artikel über mysqlnd verfolge ich
immer) und in meiner Testumgebung habe ich PHP auch mit mysqlnd
kompiliert.

KP
Carsten Wiedmann
2011-02-18 20:25:04 UTC
Permalink
Post by Karl Pflästerer
Ich habe hier einen sehr gemischten MySQL Versions Zoo. Darunter sind
auch noch Server mit MySQL 4 . Solange diese existieren und produktiv
laufen werde ich PHP weiterhin mit der mysql Extension kompilieren
müssen.
Nur um das nochmals klar zustellen. Die Frage war nicht ob du/jemand die
mysql-Extension benutzt oder nicht, sondern wie diese mysql-Extension
(oder mysqli / PDO_mysql) selbst auf den MySQL-Server zugreift:
- über die libmysql
- oder über mysqlnd
Post by Karl Pflästerer
kann ich erst dann mysqlnd einsetzen, wenn ich nur noch mit MySQL>= 5.0
zu tun haben werde.
Voraussetzungen für mysqlnd wären:
PHP 5.3
MySQL-Server >= 4.1


Gruß
Carsten
Karl Pflästerer
2011-02-18 23:10:11 UTC
Permalink
Post by Carsten Wiedmann
Post by Karl Pflästerer
Ich habe hier einen sehr gemischten MySQL Versions Zoo. Darunter sind
auch noch Server mit MySQL 4 . Solange diese existieren und produktiv
laufen werde ich PHP weiterhin mit der mysql Extension kompilieren
müssen.
Nur um das nochmals klar zustellen. Die Frage war nicht ob du/jemand
die mysql-Extension benutzt oder nicht, sondern wie diese
mysql-Extension (oder mysqli / PDO_mysql) selbst auf den MySQL-Server
- über die libmysql
- oder über mysqlnd
Ich habe die Frage schon gelesen. Und da ich schrieb, dass ich auch noch
Server mit MySQL 4 unterstütze, ist klar, warum ich mysqlnd noch nicht
einsetzen kann.
Post by Carsten Wiedmann
Post by Karl Pflästerer
kann ich erst dann mysqlnd einsetzen, wenn ich nur noch mit MySQL>= 5.0
zu tun haben werde.
PHP 5.3
MySQL-Server >= 4.1
Eben. Man kann nicht immer so schnell updaten, wie man gerne möchte.

KP
Carsten Wiedmann
2011-02-19 08:59:44 UTC
Permalink
Post by Karl Pflästerer
Post by Karl Pflästerer
laufen werde ich PHP weiterhin mit der mysql Extension kompilieren
müssen.
Ich habe die Frage schon gelesen. Und da ich schrieb, dass ich auch noch
Server mit MySQL 4 unterstütze, ist klar, warum ich mysqlnd noch nicht
einsetzen kann.
Da habe ich wohl deine erste Antwort falsch gelesen. Das liest sich für
mich, als würdest du wegen 4.0 mysql anstatt z.B. mysqli benutzen. Sorry.

Gruß
Carsten
Carsten Wiedmann
2011-02-19 10:17:13 UTC
Permalink
Post by Ulf Wendel
... ich wüsste gerne wer es benutzt oder es meidet. Und falls es
gemieden wird, warum.
Dann doch auch noch eine Antwort von mir dazu. Wie wohl viele benutze
ich i.d.R. das, was über das jeweilige Paketsystem autom.
installiert/gebaut wird:
- FreeBSD -> mysqlnd
- Debian -> libmysql

Entgegen dem Mainstream benutze ich unter Windows noch die libmysql.
Wobei, mittlerweile kann man da ja auch wieder DNS-Namen anstatt IPs als
Hostname nehmen (IPv6 Problem). Könnte man dort auch wechseln. Bleibt noch:
| Named pipes support for Windows was added in PHP version 5.4.0.

Wo gibt's dieses PHP 5.4.0?

Gruß
Carsten
Ulf Wendel
2011-02-21 09:03:39 UTC
Permalink
Post by Carsten Wiedmann
| Named pipes support for Windows was added in PHP version 5.4.0.
Wo gibt's dieses PHP 5.4.0?
Das wüsste ich auch gerne. Warum können sich die php.net Leutchen nicht
auf einen Namen für ihre Entwicklungsversion einigen und haben 5.3.99
gewählt wo doch 5.4 so naheliegend gewesen wäre.

trunk halt...

Ulf
Carsten Wiedmann
2011-02-21 14:36:41 UTC
Permalink
Post by Ulf Wendel
Post by Carsten Wiedmann
Wo gibt's dieses PHP 5.4.0?
trunk halt...
Schad es das (Pipes) nicht schon für's kommende 5.3.6 gibt. Und vom
Trunk gibt's gerade keine fertigen Snapshot Binaries.

(und mit 'ner einfachen Anpassung von mysqlnd.c/mysqlnd_net.c in 5.3
scheint's ja auch nicht getan zu sein)

Gruß,
Carsten
Ulf Wendel
2011-02-21 16:31:16 UTC
Permalink
Post by Carsten Wiedmann
Post by Ulf Wendel
Post by Carsten Wiedmann
Wo gibt's dieses PHP 5.4.0?
trunk halt...
Schad es das (Pipes) nicht schon für's kommende 5.3.6 gibt. Und vom
Die Änderung ist zu groß für ein Maintenance Release.
Post by Carsten Wiedmann
Trunk gibt's gerade keine fertigen Snapshot Binaries.
Das ist jenseits meiner Möglichkeiten. Windows willste, oder: Gibt es da
nicht ein neues Buch in dem die signifikant verbesserte Zusammenarbeit
des PHP-Windows-Teams und PHP gelobhudelt wird?

Ulf

Lesen Sie weiter auf narkive:
Loading...