$ PATH в вашей цитате exec пытается преобразоваться в то, чем является ваш PHP $ PATH, а не в BASH $ PATH.
Вы можете либо экранировать $ (\$
), либо использовать одинарные кавычки.
В общем, вы должны использовать escapeshellarg()
или escapeshellcmd()
, чтобы сделать вещи немного безопаснее.Это предотвратило бы эту ситуацию.Кроме того, если вы вызываете exec()
с пользовательскими вводами, это поможет предотвратить побег вашей команды и вызов собственных вредоносных команд оболочки.
РЕДАКТИРОВАТЬ
На самом деле у вас могут возникнуть проблемыс вашим именем файла / пути по какой-то причине.Просто начни просто.
Работает ли это:
exec('/home1/myserver/bin/antiword ' .
escapeshellarg($_FILES['file']['tmp_name']), $mycontent);
Если нет, то что это:
echo '/home1/myserver/bin/antiword ' .
escapeshellarg($_FILES['file']['tmp_name']);
Вам нужно будет создать файл для проверки и заменить его нафайл в $ _FILES.Но работает ли это прямо из командной строки?