Installation des PHP-MSSQL Moduls auf CentOS 5.0

Author & Content by Tim Haselaars (http://www.trinix.be)

Wie Du vielleicht bereits festgestellt hast, ist auf Centos 5.0 ein PHP-MSSQL Modul in den Standard yum Paketdatenbanken nicht verfügbar. Wenn Du es aber verwenden möchtest, kannst Du entweder die PHP Binärdatei ändern oder Du kompilierst ein mssql Modul. Diese Anleitung veranschaulicht, wie man ein mssql Modul kompiliert.

Du musst das RPMForge custom repository (früher bekannt als Dag Wieers) aktivieren: http://dag.wieers.com/rpm/packages/rpmforge-release/
Wähle Dein RPM aus und installiere es:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-*.rpm
rpm --install rpmforge-release-*.rpm

Als Nächstes installieren wir freetds, freetds-devel, php-devel und die Development Tools.

yum groupinstall ‘Development Tools’


yum install freetds freetds-devel --enablerepo=rpmforge
yum install php-devel

Dann ändern wir die php.spec Datei, die die PHP Konfiguration für die Kompilierung enthält.

vi /usr/src/redhat/SPECS/php.spec

Bearbeite die CFLAGS= Zeile (~Zeile 310) der php.spec Datei - entferne -Wno-pointer-sign. Füge dann folgenden Teil des Codes hinzu:
Group: Development/Languages
Requires: php = %{version}-%{release}, php-pdo Summary: A module for PHP applications that use the MSSQL database. provides: php_database BuildRequires: freetds-devel %description mssql The MSSQL package contains a dynamic shared object that will add support for accessing MSSQL databases to php.
Beginne Dein PHP rpm zu bauen:

rpmbuild -bb ./php.spec

Wenn Du nach einigen Abhängigkeiten gefragt wirst, installiere sie einfach mit yum.

cd /usr/src/redhat/BUILD/php-5.1.6/ext/mssql/

Jetzt werden wir das mssql Modul erstellen ohne die PHP Binärdatei neu schreiben zu müssen:

phpize
./configure --with-mssql
make
make install

Suche als Nächstes nach der mssql.so Datei und vergewissere Dich, dass es sich im Modulverzeichnis befindet, das in  Deiner php.ini definiert ist. Kopiere sie falls notwendig zum vorgegebenen Ort.

Letzte Schritte

vi /etc/php.ini

Füge diese Zeile Deiner php.ini hinzu:
extension=mssql.so
Speichere php.ini und starte Apache neu:

/etc/init.d/httpd restart

Et voilà, Du hast soeben Dein mssql module erstellt ohne im Basis Setup von CentOS 5 HTTPD/PHP etwas ändern zu müssen.

0 Kommentar(e)

Zum Posten von Kommentaren bitte