ID:               36060
 User updated by:  support-forums4 at farmdev dot com
 Reported By:      support-forums4 at farmdev dot com
-Status:           Bogus
+Status:           Open
 Bug Type:         CGI related
 Operating System: FreeBSD
 PHP Version:      5.1.2
 New Comment:

I understand it's not ideal that our server uses the cgi version from
the command line but it is confusing that php includes `--' in the
arguments when it has already gone so far as to pass through the extra
arguments.  In other words, if cgi should *never* be used on the
command line, why doesn't:

$ php -f test_end_arg.php -- -f -p

simply produce:
Array
(
    [0] => test_end_arg.php
)

?  I think we can agree that the cgi version should be able to work
from the command line.  On the other hand, I'm sure there are a million
more important bugs to fix ... but this did trip me up for a while and
seems trivial to fix.

thanks, Kumar


Previous Comments:
------------------------------------------------------------------------

[2006-01-17 22:58:08] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Command line parsing is different between those two SAPIs. You should
only use the CLI for command line work... as that\'s what it was meant
for.

------------------------------------------------------------------------

[2006-01-17 22:56:33] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.1-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.1-win32-latest.zip



------------------------------------------------------------------------

[2006-01-17 22:53:30] support-forums4 at farmdev dot com

Description:
------------
see test script, run it like ...

$ php -f test_end_arg.php -- -h -f

PHP should execute the script as the equivalent of `test_end_arg.php -h
-f`.  This works in the cli version of php but not the cgi version (from
command line).  Sorry I couldn't test on more versions.

Cli version I tested with (PASSED) was :

====================
PHP Version => 5.0.4

System => Linux dev 2.4.18-1-686 #1 Wed Apr 14 18:20:10 UTC 2004 i686
Build Date => May 12 2005 14:12:56
Configure Command =>  './configure' '--prefix=/vol2/php5'
'--with-apxs=/vol2/php5/bin/apxs'
'-with-config-file-scan-dir=/vol2/php5/lib/php' '--enable-shared'
'--with-zlib=shared' '--with-curl=shared,/vol2/php5'
'--with-mcrypt=shared,/vol2/php5' '--with-mhash=shared,/vol2/php5'
'--with-openssl=shared' '--with-gettext=shared' '--with-gd=shared'
'--enable-wddx=shared' '--with-jpg-dir=/usr' '--with-png-dir=/usr'
'--enable-dba=shared' '--with-mysql=shared,/usr/local/mysql'
'--with-pgsql=shared,/usr/local/pgsql' '--enable-soap=shared'
'--enable-sysvshm=shared' '--enable-sysvmsg=shared'
'--enable-sysvsem=shared' '--with-libxml-dir=/vol2/php5'
Server API => Command Line Interface
====================================

CGI version I tested with (FAILED) was :

====================================
PHP Version 5.0.5

System  FreeBSD dev2.leapfrogonline.com 4.11-RELEASE FreeBSD
4.11-RELEASE #0: Fri Ja i386
Build Date      Sep 22 2005 16:22:00
Configure Command       './configure' '--enable-versioning'
'--enable-memory-limit' '--with-layout=GNU'
'--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all'
'--enable-libxml' '--with-libxml-dir=/usr/local' '--enable-spl'
'--with-regex=php' '--disable-cli' '--enable-force-cgi-redirect'
'--enable-discard-path' '--enable-fastcgi' '--prefix=/usr/local'
'i386-portbld-freebsd4.11'
Server API      CGI/FastCGI
====================================

Reproduce code:
---------------
test_end_arg.php:
<?php
print_r($_SERVER['argv']);
assert( !in_array('--',$_SERVER['argv']));
?>

Expected result:
----------------
// see description about how to run the script
Array
(
    [0] => test_end_arg.php
    [1] => -h
    [2] => -f
)

Actual result:
--------------
PHP Warning:  assert() [<a href='function.assert'>function.assert</a>]:
Assertion failed in /home/kumar/tmp/test_end_arg.php on line 3
Array
(
    [0] => test_end_arg.php
    [1] => --
    [2] => -h
    [3] => -f
)
<br />
<b>Warning</b>:  assert() [<a
href='function.assert'>function.assert</a>]: Assertion failed in
<b>/home/kumar/tmp/test_end_arg.php</b> on line <b>3</b><br />


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36060&edit=1

Reply via email to