Я занимаюсь разработкой серверного приложения, и недавно я столкнулся с этой странной ошибкой на тестовом сервере (Debian Squeeze).popen failed with "sh: <command>: not found"
Каждый исполняемый Перехожу к POPEN терпит неудачу с сообщ:
sh: sort: not found // happens to any command
Это происходит независимо указывают ли я полный путь возвращенного «тип» или покороче. Как упоминалось ранее, это происходит только в одной тестовой среде, чтобы добавить путаницу, я запускаю одну и ту же ОС и не имел никаких проблем.
Popen, по-видимому, используя ш выполнять команды, но если я запускаю ту же команду через командную строку (Баш или ш), все отлично
Заранее спасибо
(PS: даже ! попробовал Python os.popen просто прибить эту голову скребок, и он работает)
Редактировать это простой вызов, который терпит неудачу:
$command="tail -10 myfile";
$handle = popen($command.' 2>&1','r');
if($handle){
while (!feof($handle)){
....//process buffer
}
}
возвращается:
sh: tail: not found
Пожалуйста, разместите фактический вызов, и если какие-либо переменные отображают, как они сгенерированы. –
В результате это то же самое, используя полный путь двоичного кода? (Я имею в виду: whereis tail) – Cesar
Да, до тех пор, пока его запустить через popen, sh возвращает эту ошибку msg .. – smallmeans