Команда shell_exec js-beautify не работает работать - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь запустить этот код в контроллере

echo shell_exec(' echo 3');
echo shell_exec('cat m.html | js-beautify  --type html -o m.html ; echo 43');
echo shell_exec(' echo 53');

Я получил в качестве вывода

3 53

и м.html также не улучшается, когда я запускаю ту же команду через командную строку, файл улучшается.

1 Ответ

0 голосов
/ 27 февраля 2019

Вероятно, это связано с путями.Вам нужно будет указать полные пути для исполняемого файла m.html и js-beautify.Также убедитесь, что для пользователя веб-сервера установлены соответствующие разрешения на выполнение.

// get the location of m.html if it's in the same folder as your PHP file
$path = dirname(__FILE__) . '/m/html';
echo shell_exec("/path/to/js-beautify --type html -o $path -f $path');

Возможно, стоило бы удалить файл -o и разрешить выводу на стандартный вывод, т.е. передать обратно на вашу веб-страницу,так что вы можете увидеть, если он пишет в тот же файл.Может быть, тоже проверить временные метки?

Также я считаю, что вы можете напрямую передать файл в js-beautify (или с флагом -f), то есть, если при чтении файла возникли ошибки, вы бы увидели ошибки js-beautify вместонет ничего.

...