Итак, установил open_server_5_3_5_ultimate, питон 3.8.2, настроил апач:
AddHandler cgi-script .cgi .pl .py
и
Options -MultiViews +Indexes +FollowSymLinks +IncludesNoExec +Includes +ExecCGI
все остальные параметры по умолчанию.
далее создаю файл: c:\openserver\OSPanel\domains\pim.ru\test.py
с содержимым (поменяв окончание строк на UNIX):
#!c:\Python\Python38-32\python.exe # -*- coding: utf-8 -* print ("Content-Type: text/html\r\n") print ("<html><head><title>And Now for Something Completely Different…</title></head><body>") print ("<h1> Python works!</h1>") print ("<p>Привет, мир!!!</p>") print ("</body></html>")далее получаю в браузере:
Ошибка сервера! Произошла внутренняя ошибка сервера, в результате которой серверу не удалось завершить обработку Вашего запроса. Error message: End of script output before headers: test.py Если Вы считаете, что это ошибка сервера, пожалуйста, сообщите об этом веб-мастеру. Error 500 pim.ru Apacheа в логе апача:
[Thu Mar 12 15:03:11.633584 2020] [cgi:error] [pid 2816:tid 1876] [client 127.0.0.1:50459] End of script output before headers: test.py [Thu Mar 12 15:03:11.633584 2020] [cgi:error] [pid 2816:tid 1876] [client 127.0.0.1:50459] AH01215: C:\\Python\\Python38-32\\python.exe: can't open file '%L': [Errno 2] No such file or directory: C:/openserver/OSPanel/domains/pim.ru/test.pyпри это если запускаю из командной строки, то получаю нормальный вывод:
c:\Python\Python38-32>python.exe c:\openserver\OSPanel\domains\pim.ru\test.py Content-Type: text/html <html><head><title>And Now for Something Completely Different…</title></head><body> <h1> Python works!</h1> <p>Привет, мир!!!</p> </body></html> c:\Python>в PATH все вроде прописано:
C:\Perl\site\bin;C:\Perl\bin;c:\Python\Python38-32\Scripts\;c:\Python\Python38-32\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\User\AppData\Local\Microsoft\WindowsApps;
При этом скрипты PERL работают сразу и идеально.