Installation von Lighttpd mit PHP5 und MySQL Support auf OpenSUSE 10.3 - Seite 2

4 Installation von PHP5

Wir könnnen PHP5 in Lighttpd durch FastCGI wirksam werden lassen. Ein FastCGI Paket für PHP5 ist auf OpenSUSE verfügbar, php5-fastcgi, welches wir wie folgt installieren:

yast2 -i php5-fastcgi


5 Konfiguration von Lighttpd und PHP5

Um PHP5 in Lighttpd zu aktivieren, müssen wir drei Dateien bearbeiten /etc/php5/fastcgi/php.ini, /etc/lighttpd/modules.conf, und /etc/lighttpd/conf.d/fastcgi.conf. Zunächst öffnen wir /etc/php5/fastcgi/php.ini und aktivieren die Zeile cgi.fix_pathinfo=1 irgendwo in der Mitte der Datei:

vi /etc/php5/fastcgi/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. cgi.fix_pathinfo=1 [...]
Dann öffnen wir /etc/lighttpd/modules.conf und aktivieren die Zeile include "conf.d/fastcgi.conf":

vi /etc/lighttpd/modules.conf

[...]
## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...]
Letztlich öffnen wir /etc/lighttpd/conf.d/fastcgi.conf und vergewissern uns, dass es die Zeile server.modules += ( "mod_fastcgi" ) enthält; dann kommentieren wir die Zeile fastcgi.server aus:

vi /etc/lighttpd/conf.d/fastcgi.conf

[...]
server.modules += ( "mod_fastcgi" ) [...] ## PHP Example ## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini. ## ## The number of php processes you will get can be easily calculated: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## for the php-num-procs example it means you will get 17*5 = 85 php ## processes. you always should need this high number for your very ## busy sites. And if you have a lot of RAM. :) ## fastcgi.server = ( ".php" => ( "php-local" => ( "socket" => socket_dir + "/php-fastcgi-1.socket", "bin-path" => server_root + "/cgi-bin/php5", "max-procs" => 1, "broken-scriptfilename" => "enable", ) ), ( "php-tcp" => ( "host" => "127.0.0.1", "port" => 9999, "check-local" => "disable", "broken-scriptfilename" => "enable", ) ), ( "php-num-procs" => ( "socket" => socket_dir + "/php-fastcgi-2.socket", "bin-path" => server_root + "/cgi-bin/php5", "bin-environment" => ( "PHP_FCGI_CHILDREN" => "16", "PHP_FCGI_MAX_REQUESTS" => "10000", ), "max-procs" => 5, "broken-scriptfilename" => "enable", ) ), ) [...]
Dann starten wir Lighttpd neu:

/etc/init.d/lighttpd restart


6 Testen von PHP5 / Einzelheiten über Deine PHP5 Installation in Erfahrung bringen

Der Document Root der Standard Website ist /srv/www/htdocs. Wir werden jetzt eine kleine PHP Datei (info.php) in diesem Verzeichnis erstellen und sie in einem Browser abrufen. Die Datei wird viele nützliche Informationen über die PHP Installation anzeigen wie zum Beispiel die installierte PHP Version.

vi /srv/www/htdocs/info.php

<?php
phpinfo(); ?>
Nun rufen wir die Datei in einem Browser ab (z.B. http://192.168.0.100/info.php):


Wie Du siehst, funktioniert PHP5. Es läuft über FastCGI, wie man in der Server API Zeile sehen kann. Wenn Du weiter nach unten scrollst, siehst Du alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgelistet, was bedeutet, dass wir noch keine PHP5 Unterstützung haben.

7 MySQL Unterstützung in PHP5 beziehen

Um eine MySQL Unterstützung in PHP zu beziehen, können wir das Paket php5-mysql installieren. Es ist ganz gut noch andere PHP5 Module zu installieren, da Du diese für Deine Programme gebrauchen könntest:

yast2 -i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mhash php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-pear php5-sysvmsg php5-sysvshm

Starte Lighttpd neu:

/etc/init.d/lighttpd restart

Lade nun http://192.168.0.100/info.php erneut in Deinen Browser und scrolle runter in die Modulsektion. Du solltest dort viele neue Module finden, das MySQL Modul eingeschlossen:

8 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte