Столкнулся с тем, что код при выполнении в Apache и в IDLE работает по разному. Пользуюсь простым cgi-bin.
В IDLE или при использовании встроенного HTTP сервера все работает - выводит список, а при вызове из Apache получаю ошибку:
"ERROR: select_list_ou (, com_error(-2147352567, 'Ошибка.', (0, 'Provider', 'Класс не зарегистрирован', None, 1240640, -2147221164), None), ) "
Это не единственный момент где замечено, что код выполняется по разному. Единственной вывод к чему пришёл, что возможно ошибка как то связана с созданием и использованием COM объектов. Возможно в самом Apache есть, какае то настройка связанная с этим.
ОС: Win 10 x64
Python: 3.7.4
Apache: httpd-2.4.43-win64-VS16
Вот содержимое файла .py
В IDLE или при использовании встроенного HTTP сервера все работает - выводит список, а при вызове из Apache получаю ошибку:
"ERROR: select_list_ou (, com_error(-2147352567, 'Ошибка.', (0, 'Provider', 'Класс не зарегистрирован', None, 1240640, -2147221164), None), ) "
Это не единственный момент где замечено, что код выполняется по разному. Единственной вывод к чему пришёл, что возможно ошибка как то связана с созданием и использованием COM объектов. Возможно в самом Apache есть, какае то настройка связанная с этим.
ОС: Win 10 x64
Python: 3.7.4
Apache: httpd-2.4.43-win64-VS16
Package Version
------------------ ---------
adodbapi 2.6.2.0
appdirs 1.4.4
asgiref 3.2.10
certifi 2020.6.20
chardet 3.0.4
distlib 0.3.1
filelock 3.0.12
future 0.18.2
idna 2.10
importlib-metadata 1.7.0
ldap3 2.8
pip 20.2.2
psycopg2 2.8.3
pyad 0.6.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pypiwin32 223
PyQt5 5.13.2
PyQt5-sip 12.7.0
pytz 2020.1
pywin32 228
requests 2.24.0
setuptools 50.3.0
six 1.15.0
sqlparse 0.3.1
urllib3 1.25.10
virtualenv 20.0.31
zipp 3.1.0
------------------ ---------
adodbapi 2.6.2.0
appdirs 1.4.4
asgiref 3.2.10
certifi 2020.6.20
chardet 3.0.4
distlib 0.3.1
filelock 3.0.12
future 0.18.2
idna 2.10
importlib-metadata 1.7.0
ldap3 2.8
pip 20.2.2
psycopg2 2.8.3
pyad 0.6.0
pyasn1 0.4.8
pyasn1-modules 0.2.8
pypiwin32 223
PyQt5 5.13.2
PyQt5-sip 12.7.0
pytz 2020.1
pywin32 228
requests 2.24.0
setuptools 50.3.0
six 1.15.0
sqlparse 0.3.1
urllib3 1.25.10
virtualenv 20.0.31
zipp 3.1.0
Вот содержимое файла .py
Код:
#!C:\Python\Python37\python.exe
import sys
import cgitb
import html
import http.cookies
import pyad.adquery
import pyad.aduser
cgitb.enable(display=1, logdir="D:/Soft/Apache/httpd-2.4.43-win64-VS16/Apache24/htdocs/Logs")
# ---
def select_list_ou():
try:
q = pyad.adquery.ADQuery()
q.execute_query(
attributes = ["description", "postalCode", "name", "distinguishedName"],
where_clause = "objectClass = 'organizationalUnit'"
)
except Exception:
error = "ERROR: select_list_ou "+str(sys.exc_info())
print(error+"\n")
return []
return q.get_results()
# --- MAIN ---
print ("Content-type: text/html\n\n")
print ("Hello")
listou = select_list_ou()
for ou in listou:
print(ou)