В терминале, как передать строку как параметр, содержащий пробельные символы. Он фактически пропускает часть, которая появляется после пробела и принимает только первое слово.
$word = 'soccer ball' shell_exec('casperjs test.js --word='.$word);
Итак, как я могу избежать пробелов, он выполняет только эту команду
casperjs test.js --word=soccer
Для случаев, подобных описанию (в оболочке имеются другие специальные символы), PHP имеет функцию escapeshellarg
:
$word = 'soccer ball'; $command = sprintf('casperjs test.js --word=%s', escapeshellarg($word)); $result = shell_exec($command);
Я стараюсь сохранить значение $word
качестве одного аргумента:
casperjs test.js --word='soccer ball'
См. Также:
Попробуйте включить его в кавычки:
casperjs test.js --word="soccer ball"