fix shebang
[pharext/pharext] / src / pharext_packager.php
index 125db61bdea9bdda248c463e4e8780aa3327067e..5dabb9dd8c7c8e4f39457d3b1f0b80473d090e51 100644 (file)
@@ -1,11 +1,36 @@
+#!/usr/bin/php -dphar.readonly=0
 <?php
+
 /**
  * The packager sub-stub for bin/pharext
  */
 
+namespace pharext;
+
 spl_autoload_register(function($c) {
        return include strtr($c, "\\_", "//") . ".php";
 });
 
-$packager = new pharext\Packager();
+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);
+}
+
+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();