Durch meinen Recherchen mit Fitnesse und dem Slim-TestRunner für PHP (PhpSlim) bin ich das erste mal in Kontakt mit Phar-Archiven gekommen, dem Pedant zu Javas JAR. Da der Runner, also das Phar-Archiv, nicht meinen Anforderungen entspricht, musste ich ihn ändern.
Problem
Einfaches entpacken, wie JAR, geht aber nicht. Die Phar-Tools sind unter Debian und deswegen auch nicht unter Ubuntu zu haben. Und in Empir wollte ich mich nicht einarbeiten.
Lösung
php -r "phpinfo();"|grep php.ini|grep Loadedphar-Schreiboperationen erlauben - Dazu in der php.ini die Zeile phar.readonly = 0 einfügen. Ggf. die bestehende Angabe auskommentieren mit einem führenden “;”.
cp phpslim.phar orignal.pharphp -r "$p = new Phar('./phpslim.phar');$p->convertToData(Phar::TAR);"tar xf phpslim.tar;vi tmp/PhpSlim/StatementExecutor.phpphp -r "$p = new Phar('./phpslim.phar');$p->addFile('tmp/StatementExecutor.php', 'PhpSlim/StatementExecutor.php');"- Um Sicherheitslücken zu vermeiden, die Änderung in der php.ini von oben einfach rückgängig machen
Anschließend kann das Phar normal weiterverwendet werden.