MySQL Session-Handler für PHP
Normalerweise werden die Session-Daten von php dateibasiert auf der Festplatte abgelegt. In manchen Fällen - z.B. falls man Loadbalancing einsetzen möchte - macht es jedoch Sinn, diese Daten in einer Datenbank wie z.B. MySQL abzulegen. Falls Sie eine aktuelle Debian- oder ubuntu-Distribution mit Apache verwenden, sind für die Umstellung nur wenige Schritte erforderlich:
Laden Sie folgende Datei herunter und kopieren Sie sie in das angegebene Verzeichnis:
Download: session_mysql.so [51kB]
cp session_mysql.so /usr/lib/php5/20060613+lfs/
Nun müssen wir noch eine MySQL-Tabelle anlegen, dies geschieht durch Ausführen des folgenden MySQL-Befehls:
create table phpsession(
sess_key char(64) not null,
sess_mtime int(10) unsigned not null,
sess_host char(64) not null,
sess_val mediumblob not null,
index i_key(sess_key(6)),
index i_mtime(sess_mtime),
index i_host(sess_host)
);
Anschließend öffnen Sie Ihre php.ini zum Bearbeiten:
vi /etc/php5/apache2/php.ini
Und fügen folgenden Inhalt hinzu:
extension=session_mysql.so
session.save_handler = "mysql"
session_mysql.db="host=127.0.0.1 db=DATABASE user=USER pass=PASSWORD
session_mysql.hostcheck="0"
session_mysql.hostcheck_removewww="1"
session_mysql.persistent="1"
session_mysql.gc_maxlifetime="1440"
session.gc_probability=1
session.gc_divisor=100
DATABASE, USER und PASSWORD müssen Sie dabei natürlich durch Ihre eigenen entsprechenden Werte ersetzen.
Nun müssen wir nur noch den Apache neu starten:
apache2ctl restart
Der Quellcode stammt von http://websupport.sk/~stanojr/projects/session_mysql/.
Alternative:
Falls Sie eine andere Distribution verwenden, können Sie sich die Source-Files von dieser Seite herunterladen und mit wenigen Befehlen selbst kompilieren:
Entpacken Sie zunächst das Archiv und wechseln Sie in das Verzeichnis mit den Source-Files.
Nun können wir kompilieren und installieren.
aptitude install php5-dev libmysqlclient15-dev
/usr/bin/phpize
./configure --enable-session-mysql --with-php-config=/usr/bin/php-config --with-mysql=/usr
make
make install
Danach sind die übrigen Schritte analog zu obiger Beschreibung auszuführen.