Edit report at https://bugs.php.net/bug.php?id=52322&edit=1
ID: 52322 Comment by: andycbriggs at gmail dot com Reported by: myselfasunder at gmail dot com Summary: webPhar acting like not running in webpage Status: Open Type: Bug Package: PHAR related Operating System: Windows 7 PHP Version: 5.2.13 Block user comment: N Private report: N New Comment: I'm also seeing this bug whilst running Apache. However I'm using: $phar->setDefaultStub('cli/console.php', 'web/web.php'); I noticed in the default stub of the phar is the line: if (@(isset($_SERVER['REQUEST_URI']) && isset($_SERVER['REQUEST_METHOD']) && ($_SERVER['REQUEST_METHOD'] == 'GET' || $_SERVER['REQUEST_METHOD'] == 'POST')) If I echo those from console.php I see they are set and that line should pass. Also makes me point to Phar::webPhar Tested on PHP 5.4.11, 5.3.21, 5.2.17 The phar was recreated under each version also. Previous Comments: ------------------------------------------------------------------------ [2011-01-22 06:44:53] myselfasunder at gmail dot com My current system is PHP 5.2.12 under Windows 7. Taking the PECL package from 5.2.6 (because that's the most recent available for 5.2.12), and using the Phar module, I've executed the following: var_dump(preg_grep('/web/i', get_class_methods('Phar'))); and got the following matching methods: array(2) { [54]=> string(7) "webPhar" [125]=> string(7) "webPhar" } Therefore, not only is it available under 5.2.12, it must be available under 5.2.6 as well. Do you have an actual response to the bug report? Dustin ------------------------------------------------------------------------ [2011-01-22 01:58:15] panman at traileyes dot com I noticed that you listed the PHP version as 5.2.13. The Phar::webPhar() wasn't introduced until PHP 5.3. http://www.php.net/manual/en/phar.webphar.php ------------------------------------------------------------------------ [2010-07-12 23:03:03] myselfasunder at gmail dot com Description: ------------ I'm using an Apache alias to map "/" to my Phar, and the webPhar() call acts as if it was run from the CLI. Test script: --------------- My setStub() call looks like: $phar->setStub('<?php Phar::interceptFileFuncs(); Phar::webPhar("TestPhar.phar", "TestPhar/index.php"); echo "I am intended to be executed from a web browser: " . php_sapi_name() . "\n"; exit -1; __HALT_COMPILER(); '); Apache's alias: Alias / C:/Development/webdir/vhosts/phartest/TestPhar.phar Expected result: ---------------- "I am index." Actual result: -------------- I am intended to be executed from a web browser: apache2handler (*notice that PHP still recognizes that we're running under Apache. Why doesn't webPhar()?) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=52322&edit=1