#apache #jscript
#apache #jscript
Вопрос:
Я пытаюсь запустить свои файлы jscript и вернуть результат клиенту, используя CGI. Но я не могу установить первую строку для mys cript’а как #!/usr/bin/cscript.exe поскольку jscript не поддерживает комментарии, начинающиеся с # и выдает ошибку.
Вопрос: Как я могу указать путь к моему интерпретатору CGI без!#/usr/bin/cscript.exe в первой строке моего скрипта?
Ответ №1:
Из моего довольно устаревшего httpd.conf:
# However, Apache on Windows allows either the Unix behavior above, or can
# use the Registry to match files by extention. The command to execute
# a file of this type is retrieved from the registry by the same method as
# the Windows Explorer would use to handle double-clicking on a file.
# These script actions can be configured from the Windows Explorer View menu,
# 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit
# button allows you to modify the Actions, of which Apache 1.3 attempts to
# perform the 'Open' Action, and failing that it will try the shebang line.
# This behavior is subject to change in Apache release 2.0.
#
# Each mechanism has it's own specific security weaknesses, from the means
# to run a program you didn't intend the website owner to invoke, and the
# best method is a matter of great debate.
#
# To enable the this Windows specific behavior (and therefore -disable- the
# equivilant Unix behavior), uncomment the following directive:
#
#ScriptInterpreterSource registry
Итак, я включил функцию ScriptInterpreterSource, проверил:
ftype JSFile
JSFile=%SystemRoot%System32CScript.exe "%1" %*
и используется c:programmexamppcgi-binjscgi.js
, содержащий:
WScript.Echo("Content-Type: text/htmln");
WScript.Echo("OK:", WScript.ScriptFullName, new Date());
успешно. Я не касался других настроек, таких как AddHandler, directory или
Скрипталии, и я только что протестировал phpinfo.php и printenv.pl чтобы увидеть, является ли это
изменение явно разрушило мою установку — нет.
Вам следует быть намного осмотрительнее.
Обновить комментарий wrt:
Согласно документам 2.4 (найдите «ScriptInterpreterSource»), директива все еще действительна. Вы уверены, что учетная запись пользователя apache связывает файлы .js с cscript.exe ?
Комментарии:
1. Какую версию Apache вы используете? Я пытаюсь использовать те же настройки в Apache / 2.4.4, но это не работает