|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2000-10-28 01:52 UTC] colin at easydns dot 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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Fri Jul 10 16:00:01 2026 UTC |
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") - ColinMy 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. - ColinOopos, I posted the configure line for the apache version running on the same box. The standalone's config line is the same without the apxs: ./configure --with-mysql=/usr/local/mysql \ --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 As for the gdb suggestion: [cmv@vincent cmv]$ gdb /usr/local/bin/php GNU gdb 19991004 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... (gdb) break 699 Breakpoint 1 at 0x80619c4: file cgi_main.c, line 699. (gdb) run /usr/local/bin/test.phx Starting program: /usr/local/bin/php /usr/local/bin/test.phx Breakpoint 1, main (argc=2, argv=0xbffffac4) at cgi_main.c:699 699 } else if (file_handle.handle.fp && file_handle.handle.fp!=stdin) { (gdb) bt #0 main (argc=2, argv=0xbffffac4) at cgi_main.c:699 I'm no gdb expert, so if I'm doing this wrong, let me know. Jason, if you want me to email you my php binary, let me know (send me a direct email to the address above). I see that stas has no probs with the latest CVS, so I may just grab that. Would be nice to know why this broke with 4.0.3pl1 though .... - Colin