okovalev
@okovalev

Как понять где выполнен php скрипт?

В extensions.conf конфигурационного файла Asterisk мы вызываем:
exten => h,1,Agi(update.php,${trunk},${CDR(billsec)})

Что вольно можно перевести. Отправь данные в массиве $argv php-скрипту update.php

В самом php скрипте есть строчка:
file_put_contents('/var/lib/asterisk/agi-bin/log.txt', exec('pwd'));


Если запустить командную скрипт из командной строки, в log.txt будет:
/var/lib/asterisk/agi-bin
А если запустить из под Asterisk АТС:
/tmp

Внимание вопрос:
Где непосредственно выполняется php-скрипт?
Мне это ломает голову, потому что если указать относительный путь, а не абсолютный данные в log.txt не поступают... :(
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
@bkosun
Полный путь к текущему файлу или каталогу можно получить при помощи волшебных констант __FILE__ / __DIR__

php.net/manual/ru/language.constants.predefined.php

Используйте функцию realpath, чтобы раскрыть символические ссылки и получить абсолютный путь к файлу.

php.net/manual/ru/function.realpath.php
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
почитайте документацию по астериску.
А чем вас не устраивает абсолютный путь?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы