Страница 1 из 1
cscript на Linux
Добавлено: Ср янв 21, 2015 11:59 am
tonik2003
Вот объясните мне зачем на Линухе запускаются Виндовые команды?
ведь не кроссплатформенность это
не считая того что есть вот такое
Executing (exclusive): cscript /var/www/html/rc/sapi.js 11 часов 34 минуты
Понятно что всегда будет sh: cscript: command not found
Или
/var/www/html\obj.bat ClockChime.onNewMinute
Re: cscript на Linux
Добавлено: Ср янв 21, 2015 2:27 pm
sergejey
А зачем они запускаются в самом деле?

Не запускайте и всё будет хорошо.
Re: cscript на Linux
Добавлено: Чт янв 22, 2015 5:32 am
tonik2003
sergejey писал(а):А зачем они запускаются в самом деле?

Не запускайте и всё будет хорошо.
Ну как сказать - для людей не сильно разбирающихся в Linux
будет это удивлением - т.к. они запускаются из "коробки"
Я сейчас пересматриваю Ваш весь код на предмет такого счастья
Как доделаю напишу в FAQ - установка на CentOS 6.6
Кстати кому интересно прикручиваю Asterisk
Re: cscript на Linux
Добавлено: Чт янв 22, 2015 8:56 am
ksgroup
tonik2003 писал(а):Кстати кому интересно прикручиваю Asterisk
Интересно конечно. В чем будет выражаться прикручивание? У меня слегка прикручен, но пока только на уровне сообщения Алисой номера или имени звонящего, информирования о состоянии удаленных абонентов (онлайн\оффлайн). Хотелось бы еще управлять астериском из МДМ, но пока не придумал чем именно там управлять

Re: cscript на Linux
Добавлено: Чт янв 22, 2015 10:03 am
sergejey
tonik2003 писал(а):sergejey писал(а):А зачем они запускаются в самом деле?

Не запускайте и всё будет хорошо.
Ну как сказать - для людей не сильно разбирающихся в Linux
будет это удивлением - т.к. они запускаются из "коробки"
Я сейчас пересматриваю Ваш весь код на предмет такого счастья
Как доделаю напишу в FAQ - установка на CentOS 6.6
Буду рад комментариям по этому поводу -- вроде бы не должно из "коробки" так себя вести. Речь по-дефолту настроена на Гугл, так что sapi не используется. obj.bat вообще не запускается сам по себе -- его только можно использовать, если нужно (на windows разумеется). Но если что-то такое есть, то, конечно, будет лучше исправить.
Re: cscript на Linux
Добавлено: Чт янв 22, 2015 5:44 pm
LutsenkoDenis
sergejey писал(а):А зачем они запускаются в самом деле?

Не запускайте и всё будет хорошо.
1. Считаю, что это неправильный подход. Что значит не запускайте, если оно запускается из коробки?
2. У меня возникает вопрос не зачем они запускаются, а что это такое, зачем оно мне и как этим пользоваться?
При определённых параметрах запускается из коробки, причина на мой взгляд тут: /lib/common.class.php
Код: Выделить всё
if (!defined('SETTINGS_TTS_GOOGLE') || SETTINGS_TTS_GOOGLE) {
$google_file=GoogleTTS($ph, $lang);
} else {
$google_file=false;
}
if (!defined('SETTINGS_SPEAK_SIGNAL') || SETTINGS_SPEAK_SIGNAL=='1') {
$passed=time()-(int)getGlobal('lastSayTime');
if ($passed>20) { // play intro-sound only if more than 20 seconds passed from the last one
setGlobal('lastSayTime', time());
playSound('dingdong', 1, $level);
}
}
if ($google_file) {
@touch($google_file);
playSound($google_file, 1, $level);
} else {
safe_exec('cscript '.DOC_ROOT.'/rc/sapi.js '.$ph, 1, $level);
}
Другими словами: Если у тебя $google_file == false, то запускается cscript. Тут на мой взгляд нужно либо делать какую-то обертку, чтоб в зависимости от OS выполнялся либо cscript или ch, либо делать проверку на тип OS перед cscript. Т.к. я не вдавался в подробности о том что такое /rc/sapi.js и надо оно мне или нет, то я просто добавил провеку OS
Код: Выделить всё
if (substr(php_uname(), 0, 7) == "Windows")
safe_exec('cscript '.DOC_ROOT.'/rc/sapi.js '.$ph, 1, $level);
С учётом того, что MDM у меня на линуксе, то этот скрипт больше не будет выполняться. Не знаю, важно это или нет, в настройках у меня звук выключен.
з.ы. На сервере отсутствует аудио.
Re: cscript на Linux
Добавлено: Чт янв 22, 2015 5:51 pm
sergejey
LutsenkoDenis писал(а):sergejey писал(а):А зачем они запускаются в самом деле?

Не запускайте и всё будет хорошо.
1. Считаю, что это неправильный подход. Что значит не запускайте, если оно запускается из коробки?
2. У меня возникает вопрос не зачем они запускаются, а что это такое, зачем оно мне и как этим пользоваться?
При определённых параметрах запускается из коробки, причина на мой взгляд тут: /lib/common.class.php
Ок, при определённых параметрах оно может запустится и под Linux -- если принудительно отключен синтез голоса через Google или возникла ошибка получения звукового файла от того же Google-а. В виду того, что в линуке cscript-а, нету, то просто ничего не произойдёт.
Re: cscript на Linux
Добавлено: Чт янв 22, 2015 6:04 pm
LutsenkoDenis
Полагаться на то, что "ничего не произойдет", тоже неправильно. Всех вариантов никто не знает. Если это не кросс-платформенное решение, то нужно делать проверку на тип OS и запускать только-то то что будет работать, а не полагаться на его величество случай.
Re: cscript на Linux
Добавлено: Пт янв 23, 2015 11:20 am
tonik2003
LutsenkoDenis писал(а):sergejey писал(а):
з.ы. На сервере отсутствует аудио.
Да на данный момент тоже с этим разбираюсь
при запуске из под root mplayer /var/www/html/cached/voice/****.mp3 работает
Но начал наблюдать интересный момент если cat /etc/crontab
@reboot root /usr/bin/php /var/www/html/cycle.php
или
@reboot apache /usr/bin/php /var/www/html/cycle.php
Не работает
Но при этом
su apache -s /bin/sh -c "mplayer /var/www/html/cached/voice/*********.mp3"
Есть счастье
при этом vipw
apache

48:48:Apache:/var/www:/sbin/nologin
Re: cscript на Linux
Добавлено: Пт янв 23, 2015 11:23 am
tonik2003
ksgroup писал(а):tonik2003 писал(а):Кстати кому интересно прикручиваю Asterisk
Интересно конечно. В чем будет выражаться прикручивание? У меня слегка прикручен, но пока только на уровне сообщения Алисой номера или имени звонящего, информирования о состоянии удаленных абонентов (онлайн\оффлайн). Хотелось бы еще управлять астериском из МДМ, но пока не придумал чем именно там управлять

Есть небольшая идея сделать управление голосом при звонке на телефон(домашний)
из МДМ можно управлять только привязкой внутренних номеров к комнатам, создание
есть что почерпнуть как это сделано в linuxmce