PHP5 mit neuer und alter MySQL-Extension
Es kann sinnvoll und manchmal auch notwendig sein, neben der neuen MySqli-Extension auch noch die ältere MySQL-Extension laufen zu lassen, wenn man auf PHP5 für Webanwendungen setzen will. Voraussetzung ist jedoch in jedem Fall, dass man eine MySql-Version mindestens 4.1 fährt. Der Weg dahin ist jedoch steinig, ein anzunehmendes, simples
./configure
--with-mysql \
--with-mysqli \
wird nicht funktionieren. Statt dessen muss man den beiden -with Anweisungen nicht die Standardbibliothek von PHP mitgeben, als vielmehr dieselbige vom MySQL.
Unter Debian Sarge wäre es in diesem Fall folgende Anweisung:
./configure
--with-mysqli=/usr/bin/mysql_config \
--with-mysql=/usr/bin/mysql_config \
Wobei hier die Dev-Packages von MySql installiert sein müssen.
Damit aber noch nicht genug. Um den Fehler bei der Kompilierung auszumerzen, muss man das Makefile öffnen und dort die Zeile, die mit “EXTRA_LIBS” beginnt suchen. In dieser Zeile findet sich zweimal das Argument -lmysqlclient. Der letztere der beiden muss entfernt werden, dann sollte ein
make && make install
problemlos durchlaufen.