powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
9 сообщений из 34, страница 2 из 2
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750537
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UserIT При запуске скрипта из браузера Может, при запуске каким-то веб-сервером? Так то, в браузере тоже ж можно выполнить запуск приложения. Ну... печально как-то выглядят значения... всего четыре переменных, да и из них половина не особо существенных.

UserIT а вот если запустить консольное приложение Аха, ну вот тут уже картинка вполне себе ничего.

Остался ещё один вариант "А вот ежле запустить из-под другого вебсервера, где приложение работает...".
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750655
UserIT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
Да, есть отличия.
Внизу приложил только те строки, которые отличаются.
Сейчас в Apache задал пачку переменных, которые отличаются...

Ура! Два отладочных скрипта отработали!!! :)

Сейчас буду исключать некоторые из Apache, чтобы понять, на чём был затык и уже потом отлаживать свой рабочий скрипт.
Пока так-то не совсем понятно, что именно сыграло роль.
В основном задавал только пути типа TMP и т.д.
Основные отличия увидел в том, что SERVER_PORT отличается почему-то и SERVER_NAME, но их в Apache я не трогал.
Чуть позднее выложу результаты трудов :)

Спасибо за ценные советы!


Apache
REMOTE_PORT = 60276
REMOTE_HOST =
SERVER_NAME = *.*.196.31
SERVER_PORT = 80
SERVER_ADDR = *.0.0.*
SCRIPT_FILENAME = C:/www/root/html/cgi-bin/index.cgi
PATH_INFO =
PATH_TRANSLATED =
CONTENT_LENGTH =
DOCUMENT_ROOT = C:/www/root/html/
SERVER_ADMIN = admin@example.com
HTTP
_CONNECTION = keep-alive
HTTP_ACCEPT_LANGUAGE = ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
HTTP_CONNECTION = keep-alive
REQUEST_URI = /cgi-bin/index.cgi
TEMP = C:/Users/Alex/AppData/Local/Temp/2
TMP = C:/Users/Alex/AppData/Local/Temp/2
PATH =
ALLUSERSPROFILE =
APPDATA =
COMMONPROGRAMFILES =
COMPUTERNAME =
COMSPEC = C:\Windows\system32\cmd.exe
HOMEDRIVE =
HOMEPATH =
LOGONSERVER =
NUMBER_OF_PROCESSORS = 2
OS =
PROCESSOR_ARCHITECTURE =


Not Apache
REMOTE_PORT =
REMOTE_HOST = *.*.196.31
SERVER_NAME = RITLABS S.R.L.
SERVER_PORT = 27883
SERVER_ADDR =
SCRIPT_FILENAME =
PATH_INFO = /index.cgi
PATH_TRANSLATED = e:\monroe\www\root\html\index.cgi
CONTENT_LENGTH = 0
DOCUMENT_ROOT =
SERVER_ADMIN =
HTTP_CONNECTION =
HTTP_ACCEPT_LANGUAGE = ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
HTTP_CONNECTION =
REQUEST_URI =
TEMP = C:\Users\Alex\AppData\Local\Temp\2
TMP = C:\Users\Alex\AppData\Local\Temp\2
PATH =
ALLUSERSPROFILE = C:\ProgramData
APPDATA = C:\Users\Alex\AppData\Roaming
COMMONPROGRAMFILES = C:\Program Files (x86)\Common Files
COMPUTERNAME = Example
COMSPEC = C:\Windows\system32\cmd.exe
HOMEDRIVE = C:
HOMEPATH = \Users\Alex
LOGONSERVER = \\Example
NUMBER_OF_PROCESSORS = 2
OS = Windows_NT
PROCESSOR_ARCHITECTURE = AMD64
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750676
UserIT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В итоге вот строка в Apache, которая запустила корректную отработку скрипта:

Код: powershell
1.
2.
3.
4.
5.
<IfModule env_module>

SetEnv COMMONPROGRAMFILES "C:\Program Files (x86)\Common Files"

</IfModule>



или так тоже прокатывает:

Код: powershell
1.
2.
3.
4.
5.
<IfModule env_module>

SetEnv COMMONPROGRAMFILES "C:/Program Files (x86)/Common Files"

</IfModule>
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750685
UserIT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И если кому интересно:

Для VBScript на 64-разрядной ОС нужно использовать 64-разрядный драйвер в системном DSN и нужно поставить всё-таки:

Код: powershell
1.
2.
3.
4.
5.
<IfModule env_module>

SetEnv COMMONPROGRAMFILES "C:/Program Files/Common Files"

</IfModule>




Для *.cgi на Delphi нужно использовать только 32-разрядный драйвер и строку:

Код: powershell
1.
2.
3.
4.
5.
<IfModule env_module>

SetEnv COMMONPROGRAMFILES "C:/Program Files (x86)/Common Files"

</IfModule>
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750688
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UserITВ основном задавал только пути типа TMP и т.д.Вообще, есть смысл при старте приложения проверять минимально необходимое окружение и по возможности выставлять нужные значения или формировать сообщение об ошибке. Как это в делфи принято и делается ли вообще - это я без понятия.

UserITили так тоже прокатывает:

Код: powershell
1.
<IfModule env_module>

Прокатывает ровно до тех пор, пока установлен и подключен соответствующий модуль Апача :)
В общем и целом, костыль это, конечно.
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750689
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UserITДля *.cgi на Delphi нужно использовать только 32-разрядный драйверВероятно, приложение 32-разрядное.
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750707
UserIT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleUserITВ основном задавал только пути типа TMP и т.д.Вообще, есть смысл при старте приложения проверять минимально необходимое окружение и по возможности выставлять нужные значения или формировать сообщение об ошибке. Как это в делфи принято и делается ли вообще - это я без понятия.

UserITили так тоже прокатывает:

Код: powershell
1.
<IfModule env_module>

Прокатывает ровно до тех пор, пока установлен и подключен соответствующий модуль Апача :)
В общем и целом, костыль это, конечно.

О! Вот это очень ценный совет!
Спасибо!
В своём cgi уже настроил необходимое окружение, а в Apache уже эти строчки убрал :)
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750713
UserIT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё получается, если Apache, как службу запускать, то необходимо от имени пользователя :(
От системной учётки не удалось настроить отработку CGI...
Тоже получается - костыль.
...
Рейтинг: 0 / 0
Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
    #39750726
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UserITЕщё получается, если Apache, как службу запускать, то необходимо от имени пользователя :(
От системной учётки не удалось настроить отработку CGI...Ну как сказать... suexec умеет запускать cgi-скрипты от имени указанного пользователя и группы. По крайней мере, на никсах работает.
Апач выполняется от имени системного пользователя, а скрипты запускаются от рядовых пользователей. На хостингах довольно распространенный способ.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Настройка Apache для выполнения запроса к БД MySQL через скрипт CGI
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]