Skip to content

Codeanalyse unter PHP 7 mit Phan

Nachdem ich auf meinem Entwicklungsrechner seit kurzem PHP 7 installiert habe, wollte ich einige (meiner) Projekte mit Hilfe des Code-Analyzers Phan, von dem vor dem Release der neuen PHP-Version schon einiges zu lesen war, auf Fehler untersuchen. Phan muss zwar unter PHP 7 ausgeführt werden, kann aber auch ältere Projekte, die beispielsweise für PHP 5.x entwickelt wurden, inspizieren.

Installation

Bevor es an die Installation von Phan geht, sind einige Voraussetzungen zu erfüllen: Insbesondere wird natürlich PHP 7 benötigt, zusätzlich aber auch die Extension php-ast, die den abstract syntax tree aufzeigen kann. Der Abstrakte Syntaxbaum (AST) ist neu in PHP 7 und stellt sozusagen einen Zwischenschritt dar, bei dem der PHP-Code in besser optimierbare Ausdrücke umgewandelt wird. Wie das bei HHVM im Detail aussieht, hat Sara Golemon ausführlich beschrieben. Zum Einlesen in die PHP-Implementierung ist der zugehörige RFC ein guter Einstiegspunkt.

"Codeanalyse unter PHP 7 mit Phan" vollständig lesen

Let's Encrypt-Zertifikate manuell erzeugen

Seit wenigen Minuten befindet sich Let's Encrypt in der öffentlichen Beta-Phase. Das bedeutet, dass nun keine Einladung mehr benötigt wird, um sich dort ein kostenloses Zertifikat ausstellen zu lassen.

Installation von Let's Encrypt

Wer auf seinem Server nicht die Möglichkeit hat, Let's Encrypt zu installieren, oder dies aus Gründen nicht tun möchte, kann sich das Tool auch einfach lokal installieren. Ich habe die Installation bei mir lokal unter Ubuntu 15.10 (Wily Werewolf) durchgeführt.

Let's Encrypt muss zunächst aus dem GitHub-Repository geklont werden und bringt ein Installations-Skript mit, welches das Tool in einer virtuellen Umgebung (virtualenv) installiert. Dadurch werden Abhängigkeiten zum Betriebssystem vermindert. Für die Installation werden root-Rechte benötigt.

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto

Auf meinem System mussten zunächst noch die fehlenden Pakete augeas-lenses libaugeas0 python-chardet-whl python-colorama-whl python-html5lib-whl python-pip-whl python-requests-whl python-setuptools-whl python-virtualenv python3-virtualenv virtualenv nachinstalliert werden, das kann bei euch natürlich ganz anders aussehen. Danach wird die virtuelle Umgebung erzeugt und letsencrypt installiert.

"Let's Encrypt-Zertifikate manuell erzeugen" vollständig lesen