Страница 1 из 1
					
				AGI + PHP.
				Добавлено: 26 мар 2013, 13:30
				 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 соответсвенно работает, так что скрипт срабатывает.
 
			 
			
					
				Re: AGI + PHP.
				Добавлено: 26 мар 2013, 13:46
				 ys1797
				php <имя скрипта>
И Вам расскажут о синтаксических ошибках в нем.
			 
			
					
				Re: AGI + PHP.
				Добавлено: 26 мар 2013, 13:52
				 Vlad1983
				скрипт работающий в консоли != работающий в app_AGI()
			 
			
					
				Re: AGI + PHP.
				Добавлено: 26 мар 2013, 14:09
				 Dampire
				2ys1797
Что Вы курили, если там нашли синтаксическую ошибку, а php "имя скрипта" не нашел?
2Vlad1983
Окей. Я перефразирую вопрос. Почему скрипт отрабатывает все, но игнорирует exec?
			 
			
					
				Re: AGI + PHP.
				Добавлено: 26 мар 2013, 14:30
				 Wapo
				1. Проверяйте доступ самой папке
2. Попробуйте выполнить через sudo с соответствующим включением пользователя в группы.
			 
			
					
				Re: AGI + PHP.
				Добавлено: 26 мар 2013, 14:41
				 Dampire
				Мать... Вот почему во фре папки астериски создаются от имени астериски, а в дебиане от рута? Вопрос решен. Спасибо.
			 
			
					
				Re: AGI + PHP.
				Добавлено: 26 мар 2013, 15:43
				 bako
				Для операций с файлами вы очень неудачно выбрали каталоги. 
http://www.debian.org/doc/packaging-man ... s-2.3.html 
			 
			
					
				Re: AGI + PHP.
				Добавлено: 28 мар 2013, 04:00
				 ded
				Dampire писал(а):2ys1797
Что Вы курили, если там нашли синтаксическую ошибку, а php "имя скрипта" не нашел?
Коллега ys1797 имел ввиду 
php <имя скрипта>
И Вам расскажут о ВОЗМОЖНЫХ синтаксических ошибках в нем (не желая проверять уровень Вашего знания синтаксиса при написании скриптов, но предполагая, что с этого шага всегда неплохо бы начинать).
 
			 
			
					
				Re: AGI + PHP.
				Добавлено: 29 мар 2013, 12:18
				 Dampire
				Второй вопрос. Как сделать, чтобы скрипт ожидал выполнения AGI-команды, а не отправлял эхо и шел дальше по своим делам? Из-за этого при записи голоса он мне возвращает broken pipe, при воспроизведении - HangUp.
Про команду sleep(X) я в курсе. Костыльный метод, я не знаю сколько времени будет болтать человек.
			 
			
					
				Re: AGI + PHP.
				Добавлено: 29 мар 2013, 13:26
				 Dampire
				Не помогло.
Набыдлокодил проверку STDIN. Вроде работает.
Код: Выделить всё
$finished = false;
while(!$finished)
{
	$res = fgets(STDIN);
	$finished = preg_match("/200/i",$res);
}