Re: [PHP] bad interpreter error from CLI
On Fri, Mar 13, 2009 at 10:10, Thodoris t...@kinetix.gr wrote: Hi gang, I am trying to run a script from cli which goes like this: #!/usr/bin/php ?php passthru(printenv); ? The error I get is this: /usr/bin/php^M: bad interpreter: Permission denied Note the ^M --- then use dos2unix from the command line on the Linux box to fix the line endings on that file. The ^M character is a sure-fire sign of a Windows-saved file. the php binary is indeed in this location and when I run the same script like this: php -f test.php it works properly. I will have to mention that the executable flag is set in the file's permissions. Any ideas why is this happening? php -v gives me: PHP 5.1.6 (cli) (built: Nov 12 2008 11:22:34) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies The above should no doubt fix it, but in the event that it does not, check the output from the following command line commands on your Linux box: which php whereis php The first will tell you which PHP CLI binary is preferred by the current $PATH settings, while the second will tell you where in $PATH 'php' is located. -- /Daniel P. Brown daniel.br...@parasane.net || danbr...@php.net http://www.parasane.net/ || http://www.pilotpig.net/ 50% Off All Shared Hosting Plans at PilotPig: Use Coupon DOW1 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] bad interpreter error from CLI
Note the ^M --- then use dos2unix from the command line on the Linux box to fix the line endings on that file. The ^M character is a sure-fire sign of a Windows-saved file. Already tried that but I still get the same error (without the ^M of course) so I think it's not the line termination. the php binary is indeed in this location and when I run the same script like this: php -f test.php it works properly. I will have to mention that the executable flag is set in the file's permissions. Any ideas why is this happening? php -v gives me: PHP 5.1.6 (cli) (built: Nov 12 2008 11:22:34) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies The above should no doubt fix it, but in the event that it does not, check the output from the following command line commands on your Linux box: which php whereis php The first will tell you which PHP CLI binary is preferred by the current $PATH settings, while the second will tell you where in $PATH 'php' is located. Both commands return the same path. -- Thodoris
Re: [PHP] bad interpreter error from CLI
On Fri, Mar 13, 2009 at 10:23, Thodoris t...@kinetix.gr wrote: [snip!] Both commands return the same path. and that path, I'll presume, is the same you have set in the script, right? Please offer as much information as you can with each email to speed up the troubleshooting process. ;-P What's the output you get from the following (copied exactly)? ls -l /usr/bin/php ls -l `which php` -- /Daniel P. Brown daniel.br...@parasane.net || danbr...@php.net http://www.parasane.net/ || http://www.pilotpig.net/ 50% Off All Shared Hosting Plans at PilotPig: Use Coupon DOW1 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] bad interpreter error from CLI
Thodoris wrote: Hi gang, I am trying to run a script from cli which goes like this: #!/usr/bin/php ?php passthru(printenv); ? The error I get is this: /usr/bin/php^M: bad interpreter: Permission denied the php binary is indeed in this location and when I run the same script like this: php -f test.php it works properly. I will have to mention that the executable flag is set in the file's permissions. Any ideas why is this happening? php -v gives me: PHP 5.1.6 (cli) (built: Nov 12 2008 11:22:34) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies Does the filesystem the scripts are on by any chance has 'noexec' set? $ mount (rw,noexec,nosuid,nodev) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] bad interpreter error from CLI
On Fri, Mar 13, 2009 at 10:23, Thodoris t...@kinetix.gr wrote: [snip!] Both commands return the same path. and that path, I'll presume, is the same you have set in the script, right? Please offer as much information as you can with each email to speed up the troubleshooting process. ;-P What's the output you get from the following (copied exactly)? ls -l /usr/bin/php ls -l `which php` [r...@foo tmp]# ls -l /usr/bin/php -rwxr-xr-x 1 root root 2702972 Nov 12 16:24 /usr/bin/php [r...@foo tmp]# ls -l `which php` -rwxr-xr-x 1 root root 2702972 Nov 12 16:24 /usr/bin/php I did mention that it works using php -f didn't I? So it actually finds the binary because it is in the path :-) . -- Thodoris
Re: [PHP] bad interpreter error from CLI
Thodoris wrote: Hi gang, I am trying to run a script from cli which goes like this: #!/usr/bin/php ?php passthru(printenv); ? The error I get is this: /usr/bin/php^M: bad interpreter: Permission denied the php binary is indeed in this location and when I run the same script like this: php -f test.php it works properly. I will have to mention that the executable flag is set in the file's permissions. Any ideas why is this happening? php -v gives me: PHP 5.1.6 (cli) (built: Nov 12 2008 11:22:34) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies Does the filesystem the scripts are on by any chance has 'noexec' set? $ mount (rw,noexec,nosuid,nodev) Yes this is the problem !! How did I miss that? Thanks for the help. -- Thodoris