VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

AGI + PHP.

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
Dampire
Сообщения: 26
Зарегистрирован: 29 мар 2012, 13:36

AGI + PHP.

Сообщение Dampire »

Доброго.
Есть Debian 6, Asterisk 1.6.2 из пакетов и php5-cli.
Также есть простой скрипт (тестовый, поскольку нормальные работать не захотел). По какой-то причине в AGI не срабатывает команда exec (а также system). В консоли скрипт исправно отрабатывает.

Код: Выделить всё

#!/usr/bin/php -q
<?php
echo "VERBOSE \"STARTING\"\n";
$prefix = '/usr/share/asterisk/';
echo "VERBOSE \"".$prefix."\"\n";
$exec = "/bin/rm ".$prefix."*.alaw";
System($exec);
exec($exec);
echo "VERBOSE \"".$exec."\"\n";
?>
Файл не удаляется. Права к файлу any.alaw 777 (чтобы совсем без вариантов, что это запрет на доступ). Т.е. не работает даже системная команда, не только сторонние проги. VERBOSE соответсвенно работает, так что скрипт срабатывает.
ys1797
Сообщения: 240
Зарегистрирован: 28 июн 2011, 17:59

Re: AGI + PHP.

Сообщение ys1797 »

php <имя скрипта>
И Вам расскажут о синтаксических ошибках в нем.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: AGI + PHP.

Сообщение Vlad1983 »

скрипт работающий в консоли != работающий в app_AGI()
ЛС: @rostel
Dampire
Сообщения: 26
Зарегистрирован: 29 мар 2012, 13:36

Re: AGI + PHP.

Сообщение Dampire »

2ys1797
Что Вы курили, если там нашли синтаксическую ошибку, а php "имя скрипта" не нашел?
2Vlad1983
Окей. Я перефразирую вопрос. Почему скрипт отрабатывает все, но игнорирует exec?
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: AGI + PHP.

Сообщение Wapo »

1. Проверяйте доступ самой папке
2. Попробуйте выполнить через sudo с соответствующим включением пользователя в группы.
Dampire
Сообщения: 26
Зарегистрирован: 29 мар 2012, 13:36

Re: AGI + PHP.

Сообщение Dampire »

Мать... Вот почему во фре папки астериски создаются от имени астериски, а в дебиане от рута? Вопрос решен. Спасибо.
bako
Сообщения: 10
Зарегистрирован: 26 мар 2012, 13:55
Контактная информация:

Re: AGI + PHP.

Сообщение bako »

Для операций с файлами вы очень неудачно выбрали каталоги.

http://www.debian.org/doc/packaging-man ... s-2.3.html
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: AGI + PHP.

Сообщение ded »

Dampire писал(а):2ys1797
Что Вы курили, если там нашли синтаксическую ошибку, а php "имя скрипта" не нашел?
Коллега ys1797 имел ввиду
php <имя скрипта>
И Вам расскажут о ВОЗМОЖНЫХ синтаксических ошибках в нем (не желая проверять уровень Вашего знания синтаксиса при написании скриптов, но предполагая, что с этого шага всегда неплохо бы начинать).
Dampire
Сообщения: 26
Зарегистрирован: 29 мар 2012, 13:36

Re: AGI + PHP.

Сообщение Dampire »

Второй вопрос. Как сделать, чтобы скрипт ожидал выполнения AGI-команды, а не отправлял эхо и шел дальше по своим делам? Из-за этого при записи голоса он мне возвращает broken pipe, при воспроизведении - HangUp.
Про команду sleep(X) я в курсе. Костыльный метод, я не знаю сколько времени будет болтать человек.
Dampire
Сообщения: 26
Зарегистрирован: 29 мар 2012, 13:36

Re: AGI + PHP.

Сообщение Dampire »

Не помогло.
Набыдлокодил проверку STDIN. Вроде работает.

Код: Выделить всё

$finished = false;
while(!$finished)
{
	$res = fgets(STDIN);
	$finished = preg_match("/200/i",$res);
}
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH