Прошу прощения за ужасный заголовок, но инач не мог объяснить с урезанным количеством символов =)
Итак проблема в следующем.
Имеем скрипт AGI написанный на PHP. В нём подключен php-agi скачанный по ссылке на сайте voip.rus.net.
На старом сервере(он был тестовым просто для того что бы разобраться что такое астериск и с чем его едят) на нём стояла Gentoo и скомпиленный из исходников *, версии 1,4. На нём с AGI скриптами особых проблем не было. Они работали.
Теперь на новом сервере стоит тоже Gentoo и тоже скомпиленный из исходников *.
На нём скрипты agi сразу не заработали нужно было поменять первую строку и правильно указать на место где лежит PHP. С этим ни каких проблем.
Но вот незадача. Я не могу понять в чём проблема. В логе астериска пишет так:
| Код: |
| -- Executing Answer("SIP/128-081bebd8", "") -- Executing AGI("SIP/128-081bebd8", "memberqueuein.php|test|SIP/128-081bebd8|128") -- Launched AGI Script /var/lib/asterisk/agi-bin/memberqueuein.php -- AGI Script memberqueuein.php completed, returning 0 |
Судя по этим логам скрипт выполняется.
Но если написать простейшую операцию вывода в консоль сообщения строчками:
| Код: |
| $agi = new AGI(); $agi->verbose("Proverka"); |
То ничего не будет. И естественно ничего более сложного тоже не делается.
Пытался исправить пересборкой PHP без флага cgi, только с флагом cli. Результата нет.
Так же пробовал менять первую строку. Делал ссылку на php-cgi так как написано на voip.rus.net.
К сожалению результата нет =(
Незнаю уж что и думать.
Возможно у кого-то есть мысли по этому поводу.
Зарание спасибо!
Последний раз редактировалось: Федот (Ср Авг 06, 2008 15:05)
Ты так наверняк узнаешь запускает * php скрипт или нет.
_________________
"Фантазия важнее знания.", Альберт Эйнштейн
если старый сервер все еще не умер то проще всего поглядеть на нем в файле /etc/portage/package.use ключи сборки php и собрать также на новом. также вполне возможно что скрипт использует curl а на новом он не установлен. а также PEAR.
в любом случае вопрос не связан с астериском а чисто юниксовый. переношу в соответствующий раздел.
включайте дебаг у php и смотрите логи.
для начала я бы этот скрипт запустил бы из консоли - "php script.php" и посмотрел бы чего ему не хватает.
_________________
"Фантазия важнее знания.", Альберт Эйнштейн
| anest писал(а): |
| скорее всего сам скрипт специфический и требует чтобы php был собран с некоторыми ключами, например pcntl. если старый сервер все еще не умер то проще всего поглядеть на нем в файле /etc/portage/package.use ключи сборки php и собрать также на новом. также вполне возможно что скрипт использует curl а на новом он не установлен. а также PEAR. в любом случае вопрос не связан с астериском а чисто юниксовый. переношу в соответствующий раздел. включайте дебаг у php и смотрите логи. для начала я бы этот скрипт запустил бы из консоли - "php script.php" и посмотрел бы чего ему не хватает. |
Запустил ПХП срипт из консоли и нашёл ошибки =)
Были они именно в моём коде, при чём там вызывался при не подключении к базе данных exit() =) Поэтому скрипт вроде как и без ошибок выполнялся.
Спс большое что направили на путь истинный! =)