Τη Κυριακή, 14 Απριλίου 2013 12:28:32 μ.μ. UTC+3, ο χρήστης Cameron Simpson έγραψε: > On 13Apr2013 23:00, nagia.rets...@gmail.com <nagia.rets...@gmail.com> wrote: > > | root@nikos [/home/nikos/public_html/foo-py]# pwd > > | /home/nikos/public_html/foo-py > > | root@nikos [/home/nikos/public_html/foo-py]# cat foo.py > > | #!/bin/sh > > | exec 2>>/home/nikos/cgi.err.out > > | echo "$0 $*" >&2 > > | id >&2 > > | env | sort >&2 > > | set -x > > | exec /full/path/to/foo-py ${1+"$@"} > > | > > | root@nikos [/home/nikos/public_html/foo-py]# python3 foo.py > > | File "foo.py", line 2 > > | exec 2>>/home/nikos/cgi.err.out > > | ^ > > | SyntaxError: invalid syntax > > > > That is because foo.py isn't a python script anymore, it is a shell script. > > Its purpose is to divert stderr to a file and to recite various > > things about the environment to that file in addition to any error > > messages. > > > > Just run it directly: > > > > ./foo.py > > > > The #! line should cause it to be run by the shell. > > > > I also recommend you try to do all this as your normal user account. > > Root is for administration, such as stopping/starting apache and > > so on. Not test running scripts from the command line; consider: > > if the script has bugs, as root it can do an awful lot of damage. > > > > | root@nikos [/home/nikos/public_html/foo-py]# > > | As far as thr tail -f of the error_log: > > | root@nikos [/home/nikos/public_html]# touch /var/log/httpd/error_log > > > > That won't do you much good; apache has not opened it, and so it > > will not be writing to it. It was writing to a file of that name, > > but you removed that file. Apache probably still has its hooks in the old > > file (which now has no name). > > > > Restarting apache should open (or create if missing) this file for you. > > > > | root@nikos [/home/nikos/public_html]# tail -f /var/log/httpd/error_log > > | and its empty even when at the exact same time i run 'python3 > > | metrites.py' from another interactive prompt when it supposed to > > | give live feed of the error messages. > > > > No, _apache_ writes to that file. So only when you visit the web > > page will stuff appear there. > > > > If you just run things from the command line, error messages will appear on > your terminal. Or, after this line of the wrapper script: > > > > exec 2>>/home/nikos/cgi.err.out > > > > the error messages will appear in cgi.err.out. > > > > | Cameron would it be too much to ask to provide you with root > > | access to my VPS server so you can have a look there too? > > | i can pay you if you like if you wait a few days to gather some money. > > > > I really do not recommend that: > > > > - it is nuts to blithely allow a stranger root access to your system > > - you won't learn anything about CGI scripts > > > > What you need for further debugging of your python issues is access > > to the error messages from the CGI script. That is the purpose of > > the wrapper script. > > > > Get the wrapper running on the command line and then test it via the browser. > > > > Cheers, > > -- > > Cameron Simpson <c...@zip.com.au> > > > > Lord grant me the serenity to accept the things I can not change, > > the courage to change the things that I can, > > and the wisdom to hide the bodies of those people I had to kill > > because they pissed me off. > > - Jeffrey Papen <jpa...@asucla.ucla.edu> cameron,
can you help please or tell me what else i need to try? Hello -- http://mail.python.org/mailman/listinfo/python-list