X-Git-Url: https://git.cweiske.de/bdrem.git/blobdiff_plain/59cd4f309a241cb2fa425519a43215bd5e81a4cf..90672c8a146c77a194cb774d8088ca4da534defe:/src/phar-stub.php diff --git a/src/phar-stub.php b/src/phar-stub.php index 58ee78e..8535a6f 100644 --- a/src/phar-stub.php +++ b/src/phar-stub.php @@ -1,4 +1,16 @@ + * @copyright 2014 Christian Weiske + * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3 + * @link http://cweiske.de/bdrem.htm + */ if (!in_array('phar', stream_get_wrappers()) || !class_exists('Phar', false)) { echo "Phar extension not avaiable\n"; exit(255); @@ -7,6 +19,14 @@ if (!in_array('phar', stream_get_wrappers()) || !class_exists('Phar', false)) { $web = 'www/index.php'; $cli = 'bin/phar-bdrem.php'; +/** + * Rewrite the HTTP request path to an internal file. + * Maps "" and "/" to "www/index.php". + * + * @param string $path Path from the browser, relative to the .phar + * + * @return string Internal path. + */ function rewritePath($path) { if ($path == '' || $path == '/') { @@ -21,6 +41,13 @@ set_include_path( . PATH_SEPARATOR . 'phar://' . __FILE__ . '/lib/' ); Phar::webPhar(null, $web, null, array(), 'rewritePath'); -include 'phar://' . __FILE__ . '/' . $cli; + +//work around https://bugs.php.net/bug.php?id=52322 +if (php_sapi_name() == 'cgi-fcgi') { + require 'phar://' . __FILE__ . '/' . $web; + exit(); +} + +require 'phar://' . __FILE__ . '/' . $cli; __HALT_COMPILER(); ?>