Используйте сценарий оболочки, чтобы выполнить преобразование Java Saxon для создания файла

Я пытался использовать PHP для выполнения сценария оболочки (.sh) и сделайте Java saxon.transform для создания файла. Когда я запускаю файл PHP, он не показывает никаких ошибок, но файл не создается.

script.sh исполняемый (chmod +x), а также jar путь предопределен

script.sh

echo "Running step 01."java net.sf.saxon.Transform -o:review.html -s:merged.html -xsl:xsls/01-simplify.xsl --suppressXsltNamespaceCheck:on;

if [ -f "review.html" ]
then
echo "Review.html file successfully generated."echo "Done"else
echo "Something went wrong."echo "Check the <code>merged.html</code> file."fi

PHP

echo shell_exec('./script.sh');

Результат

Something went wrong.
Check the merged.html file.

Та же команда Java работает так, как и предполагалось при выполнении из командной строки. Это просто не работает в сети.

Я на Ubuntu 16.04, с PHP7.

Мы ценим любые предложения.

Благодарю.

0

Решение

Если вы проверите свой файл error.log, он должен дать вам более подробную информацию о том, что происходит не так. используя команду:

tail /var/log/apache2/error.log -n 100

Или похожие

Я попытался запустить подобный скрипт в среде php. Я получаю следующую ошибку:

Ошибка в строке 7 test.xsl:
Не удалось создать файл выходного файла: /var/www/html/samples/review.html: разрешение отклонено
во встроенном шаблонном правиле
Не удалось создать файл выходного файла: /var/www/html/samples/review.html

Вероятно, это проблемы с правами доступа, которые вы получаете при создании выходного файла.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]