+#!/usr/bin/env php -dphar.readonly=0
<?php
/**
- * The packager stub for bin/pharext
+ * The packager sub-stub for bin/pharext
*/
-#Phar::mapPhar("pharext.phar");
+namespace pharext;
-function __autoload($c) {
- return include /*"phar://pharext.phar/".*/strtr($c, "\\_", "//") . ".php";
+spl_autoload_register(function($c) {
+ return include strtr($c, "\\_", "//") . ".php";
+});
+
+set_include_path('phar://' . __FILE__ .":". get_include_path());
+
+if (!extension_loaded("Phar")) {
+ fprintf(STDERR, "ERROR: Phar extension not loaded\n\n");
+ fprintf(STDERR, "\tPlease load the phar extension in your php.ini\n".
+ "\tor rebuild PHP with the --enable-phar flag.\n\n");
+ exit(1);
}
-$packager = new pharext\Packager();
+if (ini_get("phar.readonly")) {
+ fprintf(STDERR, "ERROR: Phar is configured read-only\n\n");
+ fprintf(STDERR, "\tPlease specify phar.readonly=0 in your php.ini\n".
+ "\tor run this command with php -dphar.readonly=0\n\n");
+ exit(1);
+}
+
+\Phar::interceptFileFuncs();
+\Phar::mapPhar();
+
+$packager = new Packager();
$packager->run($argc, $argv);
__HALT_COMPILER();