PHP 4.0 Bug #9041 Updated: Extra #! at top of web output.
| From: | john at cdproc dot com | Date: | Mon, 05 Feb 2001 21:34:55 +0000 |
| Subject: | PHP 4.0 Bug #9041 Updated: Extra #! at top of web output. | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-45811@lists.php.net to get a copy of this message | ||
ID: 9041
User Update by: john@cdproc.com
Status: Open
Bug Type: *Configuration Issues
Description: Extra #! at top of web output.
Here are the CGI's I'm using:
----
#!/opt/php/bin/php
<? phpinfo(); ?>
----
----
#!/bin/sh
echo Content-type: text/html\\n\\n;
echo "foo!"
----
Now this might not help any, but I truss'd the web server process (Netscape, remember.) and
here a few snippits output.
sh CGI.
read(23, " C o n t e n t - t y p e".., 8192) = 31
send(17, " H T T P / 1 . 1 2 0 0".., 118, 0) = 118
send(17, "\n f o o !\n", 6, 0) = 6
PHP CGI.
read(22, " X - P o w e r e d - B y".., 8192) = 5120
send(17, " H T T P / 1 . 1 2 0 0".., 146, 0) = 146
send(17, " # ! / o p t / p h p / b".., 5065, 0) = 5065
Graphic for PHP CGI page.
send(19, " H T T P / 1 . 1 2 0 0".., 146, 0) = 146
send(19, " G I F 8 9 a82\0 C\0D5FF".., 2962, 0) = 2962
I can't tell if the web server is inserting this line or if PHP is. However, when I run these
two CGIs on the command line, I never see this extra line. I guess I'm thinking that PHP does
weird shit when it's not run in a shell.
Any other information I can provide?
Previous Comments:
---------------------------------------------------------------------------
[2001-02-05 16:21:27] jmoore@php.net
it is in there.. My bad must be somthing else..
James
---------------------------------------------------------------------------
[2001-02-05 16:12:23] jmoore@php.net
This is caused by the fact that the #! is not inside <?php tags and thus isnt parsed by PHP,
perhaps we can introduce a command line arg that ignores #! on the first line of a file perhaps
php -c
I dont think there is a special case yet atleast this certainly points to the fact there isnt.
James
---------------------------------------------------------------------------
[2001-02-05 16:12:22] jmoore@php.net
This is caused by the fact that the #! is not inside <?php tags and thus isnt parsed by PHP,
perhaps we can introduce a command line arg that ignores #! on the first line of a file perhaps
php -c
I dont think there is a special case yet atleast this certainly points to the fact there isnt.
James
---------------------------------------------------------------------------
[2001-02-05 16:08:14] john@cdproc.com
The retarded thing about this is that the EXACT SAME binary works fine when Apache calls it as a
CGI. A simple /bin/sh CGI on both machines works correctly.
I'm out of clues.
---------------------------------------------------------------------------
[2001-01-31 17:52:09] john@cdproc.com
Hello.
I'm running PHP4 as a CGI under Netscape Enterprise.
It's compiled with:
'./configure' '--prefix=/opt/php'
'--with-config-file-path=/opt/php/etc' '--disable-pear'
'--enable-discard-path' '--with-mysql=no' '--enable-trans-sid'
'--with-oci8=/opt/oracle/8.1.7'
Whenever I call a .cgi that has the #!/path/to/php syntax at the top, the output always has a
'#!/path/to/php' line at the top.
--- snip ----
#!/opt/php/bin/php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head><STYLE TYPE="text/css"><!--
A { text-decoration: none; }
--- clip ----
My php.ini is pretty default. There's no doc_root specified when this happens.
I would think that PHP wouldn't want to include this extra line.
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments,
please view the bug report online.
Full Bug description available at: http://bugs.php.net/?id=9041