2

A previously working command line PHP script has stopped working - when i run it now it returns this error:

[root@server dir]# ./custom.php Extension './custom.php' not present. 

If i run the script like this it works:

[root@server dir]# php custom.php 

For a number of reasons i cannot do this though. I have read something that implies this could be related to line endings but no idea how/why. i have edited this file recently on A Mac and a PC and FTP'd it to the server but i've been doing that for a long time without issues.

EDIT First line of script is:

#!/usr/bin/php -q 

FYI The server is running CentOS 5.4

1
  • please add the script first line Commented Aug 6, 2010 at 15:04

3 Answers 3

4

it is generally bad line endings.. using dos line endings. Try using dos2unix on the file and then run it

dos2unix custom.php 
4
  • is there a way i could check what line endings its using to compare to another file? I tend to use Vim if that helps. Commented Aug 6, 2010 at 15:11
  • dos2unix won't hurt the file.. but generally if you see ^M at the end of lines.. it is that issue Commented Aug 6, 2010 at 15:12
  • not seeing ^M's at end of line - have seen that before. i'll try dos2unix Commented Aug 6, 2010 at 15:17
  • He would only see the ^M's at the end of the line if looking at the file on a linux machine using vi. If he looks at the file on a DOS/Windows machine it just looks innocent (unless you use an advanced editor such as Notepad++). Commented Aug 6, 2010 at 17:18
0

Put: #!/usr/bin/php in the top of your script (before your PHP-brackets). And then chmod +x custom.php

1
  • sorry, should have put that in question right away. path to PHP already in there - see Edit Commented Aug 6, 2010 at 15:09
-1

If you edit a php file in windows, upload and run it on linux with command line method. You may encounter a running problem probably like that:

[root@ItsCloud02 wsdl]# ./lnxcli.php

Extension './lnxcli.php' not present.

Or you may encounter some other strange problem. Care the enter key. In windows environment, enter key generate two binary characters '0D0A'. But in Linux, enter key generate just only a 'OA'. I wish it can help someone if you are using windows to code php and run it as a command line program on linux

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.