2

I've read multiple SO posts regarding this, but can't seem to get this to work. This is my first time working with Python on Apache so I would appreciate the help I can get!

So ultimately, I'm trying to run a Python script in my htdocs, but I can't seem to just get the simple python script running on XAMPP. I keep getting a 500 error:

error

myurl.py

#!/usr/bin/env python3

print("Content-Type: text/html")
print()
print ("""
    <TITLE>CGI script ! Python</TITLE>
    <H1>This is my first CGI script</H1>
    Hello, world!
"""
)
17
  • 1
    try replacing the first line with print("Content-type: text/html\n\n") Commented Nov 20, 2018 at 22:42
  • @MadisonCourto I tried replacing it and it didn't help Commented Nov 20, 2018 at 22:45
  • @Sam Check out the error log written by Apache. It will give you more information about exactly what caused the 500 error. It's usually stored somewhere like /var/log/apache2/error.log Commented Nov 20, 2018 at 22:47
  • @RobBricheno [Tue Nov 20 17:49:06.593901 2018] [cgi:error] [pid 47854] [client ::1:50462] AH01215: (13)Permission denied: exec of '/Applications/XAMPP/xamppfiles/htdocs/myurl.py' failed: /Applications/XAMPP/xamppfiles/htdocs/myurl.py [Tue Nov 20 17:49:06.595547 2018] [cgi:error] [pid 47854] [client ::1:50462] End of script output before headers: myurl.py Commented Nov 20, 2018 at 22:50
  • @RobBricheno it seems like I don't have the correct permissions right? how do I change that? Commented Nov 20, 2018 at 22:50

1 Answer 1

4

As per the discussion, there were multiple problems here, which were solved by examining the error.log written by apache and then making appropriate changes.

The first error was:

[Tue Nov 20 17:49:06.593901 2018] [cgi:error] [pid 47854] [client ::1:50462] AH01215: (13)Permission denied: exec of '/Applications/XAMPP/xamppfiles/htdocs/myurl.py' failed: /Applications/XAMPP/xamppfiles/htdocs/myurl.py [Tue Nov 20 17:49:06.595547 2018] [cgi:error] [pid 47854] [client ::1:50462] End of script output before headers: myurl.py

The relevant part here is:

(13)Permission denied: exec of '/Applications/XAMPP/xamppfiles/htdocs/myurl.py' failed

Permissions needed to be set on the .py file being executed to allow the user running the apache process to execute the script. This was done using chmod.

Then, another error was presented:

[Tue Nov 20 17:59:04.720816 2018] [cgi:error] [pid 48715] [client ::1:50555] AH01215: python3: No such file or directory: /Applications/XAMPP/xamppfiles/htdocs/myurl.py [Tue Nov 20 17:59:04.720884 2018] [cgi:error] [pid 48715] [client ::1:50555] End of script output before headers: myurl.py

The relevant part is:

python3: No such file or directory

This shows that the system could not find a python3 binary to execute. The correct path to the python3 interpreter had to be determined using which python3. This was then edited into the shebang line of the script.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.