Как исправить преждевременное завершение заголовков сценария и отсутствие такого файла или каталога: exec с ошибкой ./.py - PullRequest
0 голосов
/ 24 февраля 2019

Я просматривал похожий вопрос, но мне не повезло с моей программой

вот моя программа

#!/usr/bin/python
# Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
device_id = form.getvalue('updateDeviceId')
manufact  = form.getvalue('updateManufactureId')
polling_add = form.getvalue('updatePollingAddress')
expand  = form.getvalue('updateExpDev')
loop_control = form.getvalue('updateLoopControl')
message  = form.getvalue('updateMessage')
descriptor = form.getvalue('updateDescriptor')
long  = form.getvalue('updateLongTag')
short = form.getvalue('updateShortTag')
date  = form.getvalue('updateDate')
hardware = form.getvalue('updateHardware')
software  = form.getvalue('updateSoftware')
device = form.getvalue('updateDevice')
protocol_major  = form.getvalue('updateProtocolMajor')
master_slave = form.getvalue('updateMS')
final  = form.getvalue('updateFinal')

print("Content-type: text/html")
print("")
print("")
print("The values are")
print("")
print("")
print("
Hello %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s
" % (device_id, manufact, polling_add, expand, loop_control, message, 
descriptor, long, short, date, hardware, software, device, 
protocol_major, master_slave, final))
print("")
print("")

Я использую MAMP для запуска сервера apache.Я дал разрешение chmod 755 на файл .py.

Ниже приведен мой файл httpd.conf

<Directory "/Applications/MAMP/cgi-bin">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    AddHandler cgi-script .cgi .pl .py
    Allow from all
</Directory>

1 Ответ

0 голосов
/ 24 февраля 2019

Проблема заключается в следующем выражении печати:

print("
Hello %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s
" % (device_id, manufact, polling_add, expand, loop_control, message, 
descriptor, long, short, date, hardware, software, device, 
protocol_major, master_slave, final))

В Python многострочные строки заключены в тройные кавычки :

print("""
Hello %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s
""" % (device_id, manufact, polling_add, expand, loop_control, message, 
descriptor, long, short, date, hardware, software, device, 
protocol_major, master_slave, final))
...