PHP 4.0 Bug #7503 Updated: scripts run from CGI output "#!/usr/local/bin/php -q" line
| From: | colin at easydns dot com | Date: | Mon, 20 Nov 2000 22:17:42 +0000 |
| Subject: | PHP 4.0 Bug #7503 Updated: scripts run from CGI output "#!/usr/local/bin/php -q" line | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-38712@lists.php.net to get a copy of this message | ||
ID: 7503
User Update by: colin@easydns.com
Status: Open
Bug Type: Performance problem
Description: scripts run from CGI output "#!/usr/local/bin/php -q" line
My configure line is:
./configure --with-mysql=/usr/local/mysql \
--with-apxs=/usr/local/apache/bin/apxs
--enable-track-vars
--disable-debug
--disable-magic-quotes
--enable-ftp
--with-gettext
--with-xml
--with-dom
--enable-wddx
--with-curl
--with-pgsql
--with-zlib
--enable-versioning
--with-openssl
--with-snmp
--with-sablot
--with-mcrypt
Running the standalone as:
/path/to/php /path/to/test-file.php
also outputs the hash-bang line (but that's expected, since it's outside of <? ?>
tags and would get treated as HTML).
Your grep suggestion works ... kludgy, but it works. I just think there must be something wrong in
PHP since I used to run scripts through cron like this all the time without incident.
- Colin
Previous Comments:
---------------------------------------------------------------------------
[2000-11-20 17:01:54] jason@php.net
The way you are using this should not have any problems.
I have not been able to reproduce this. What is your compile string?
Also, can you try running the standalone as follows? :
/path/to/php /path/to/test-file.php
By the way, a temporary work around for your cron job, until we solve your problem would be
grep -v '#!' /path/to/my/script.phx | /path/to/php
---------------------------------------------------------------------------
[2000-11-20 16:00:55] colin@easydns.com
I'm not running them through STDIN.
I'm running them right from the command line:
./script.phx
...or from cron:
15 1,13 * * * /path/to/my/script.phx
Or am I misunderstanding you?
(the script files start with "#!/path/to/php -q")
- Colin
---------------------------------------------------------------------------
[2000-11-20 15:35:00] jason@php.net
You must be running them through stdin ex "php < file".
If so, this is not a bug
If you are using shebang, you should just execute the script ./script. If you have to run php
manualy then you will need to pass files in as args, not as stdin
ex. php file1.php
---------------------------------------------------------------------------
[2000-11-16 15:15:55] colin@easydns.com
Just to follow up ...
I get the hash-bang line output even when running the script from the shell (i.e. not from cron).
Help!
---------------------------------------------------------------------------
[2000-10-28 01:52:59] colin@easydns.com
I run several PHP scripts from cron. Since updating to PHP 4.0.3pl1, these scripts (which did not,
and do not, output anything to STDOUT) have started to output the "hash-bang" line.
A sample email I receive:
--8<----------------------------
Return-Path: <root>
Received: (from root@localhost)
by xxx.easydns.com (8.11.0/8.11.0) id e9R3j4K17414
for root; Thu, 26 Oct 2000 23:45:04 -0400
Date: Thu, 26 Oct 2000 23:45:04 -0400
Message-Id: <200010270345.e9R3j4K17414@xxx.easydns.com>
From: root (Cron Daemon)
To: root
Subject: Cron <root@xxx> /usr/local/scripts/bin/daily_acc.phx
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
#!/usr/local/bin/php -q
--8<----------------------------
I've triple checked for extraneous whitespace in the scripts, and found none. Even if there
were, that shouldn't be the problem.
Ideas?
- Colin
---------------------------------------------------------------------------
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=7503