У меня возникла проблема с запуском функции passthru в моем php-коде (модуль Joomla). код следующий (это только фрагмент)
ob_start();
passthru("/usr/bin/whois 85.70.231.130 | /usr/bin/grep 'address:'",$code);
$whoisData = ob_get_contents();
ob_end_clean();
$whoisData = str_replace("address:", "", $whoisData);
$whoisArray = split("\n",$whoisData);
echo trim($whoisArray[1]);
когда я запускаю это на своем локальном хосте, он повторяет то, что должен, но когда я запускаю этот код на рабочем сервере, он ничего не выводит, а переменная $code содержит 127 (команда не найдена). Я пытался добавить абсолютные пути к этим командам в функцию passthru, но это не помогло. Интересно, что когда я запускаю код прямо из терминала с помощью команды ssh и php, он работает хорошо, но когда он вызывается из контекста приложения, это не так. Кто-нибудь знает, что мне делать? спасибо
НЕКОТОРЫЕ РЕДАКТИРОВАНИЯ. Safe_mode на веб-сервере не видит папки /usr/bin и /bin/, так как лучше всего запускать эти команды из php?