PHP unter FreeBSD installieren

PHP, das für “PHP: Hypertext Preprocessor” steht, ist ein weit verbreitetes Open Quellenskriptsprache für allgemeine Zwecke, die besonders geeignet ist für Webentwicklung und kann in HTML eingebettet werden. Die Syntax basiert auf C, Java und Perl, und ist leicht zu erlernen.

Das ist eine Anleitung wie wir PHP unter FreeBSD verwenden können. Wir werden folgende Pakete installieren:

php73, php73-dom, php73-hash, php73-gd, php73-phar, php73-ctype, php73-filter, php73-iconv, php73-json, php73-curl, php73-mysqli, php73-pdo_mysql, php73-sqlite3, php73-pdo_sqlite, php73-tokenizer, php73-readline, php73-session, php73-simplexml, php73-xml, php73-zip, php73-bcmath, php73-xmlwriter, php73-posix, php73-openssl, pecl-redis, php73-fileinfo, php73-soap, openssl

Dafür werden wir folgenden Befehl ausführen:

pkg install php73 php73-dom php73-gd php73-hash php73-phar php73-ctype php73-filter php73-iconv php73-json php73-curl php73-mysqli php73-pdo_mysql php73-sqlite3 php73-pdo_sqlite php73-tokenizer php73-readline php73-session php73-simplexml php73-xml php73-zip php73-zlib php73-bcmath php73-xmlwriter php73-posix php73-openssl php73-pecl-redis php73-fileinfo php73-soap openssl 

Anschließend kopieren wir uns die php.ini-production Vorlage:

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini 

Wir werden als nächstes die www.conf bearbeiten:

nano /usr/local/etc/php-fpm.d/www.conf ⇒ 

listen = /var/run/php-fpm.sock 
listen.owner = www 
listen.group = www 
listen.mode = 0660  

In der Datei /usr/local/etc/php.ini müssen wir einen Abschnitt finden, der das Verhalten von cgi.fix_pathinfo konfiguriert. Es wird auskommentiert und standardmäßig auf “1” gesetzt. Wir müssen dies auskommentieren und auf “0” setzen. Dadurch wird verhindert, dass PHP versucht, Teile des Pfads auszuführen, wenn die an process übergebene Datei nicht gefunden wird. Dies könnte von böswilligen Benutzern verwendet werden, um beliebigen Code auszuführen.

nano /usr/local/etc/php.ini ⇒ 

cgi.fix_pathinfo=0 

Zum Abschluss werden wir PHP aktivieren und den PHP-Dienst starten:

service php-fpm enable
service php-fpm start 

PHPUnit

PHPUnit ist ein in PHP geschriebenes freies Framework zum Testen von PHP-Skripten, das besonders für automatisierte Tests einzelner Einheiten geeignet ist.

Damit wir PHPUnit unter FreeBSD benutzen können installieren wir das Paket phpunit8 mit dem folgenden Befehl:

pkg install phpunit8-php73 

Composer

Composer ist ein anwendungsorientierter Paketmanager für die Programmiersprache PHP. Composer wird über die Kommandozeile ausgeführt und installiert Abhängigkeiten eines PHP-Programmes.

Wir installieren php-composer mit dem folgenden Befehl:

pkg install php73-composer 

Xdebug

Xdebug hilft uns beim Debuggen von unseren PHP-Skripten, indem sie viele wertvolle Debug-Informationen bereitstellt.

Die pecl-xdebug Erweiterung installieren wir mit:

pkg install php73-pecl-xdebug 

Anschließend ergänzen wir die php.ini mit folgenden Anweisungen:

nano /usr/local/etc/php.ini ⇒ 

xdebug.remote_enable=1 
xdebug.remote_port=9000  

Abschließend starten wir den PHP-Service neu:

service php-fpm restart