Я пытался использовать PHP для выполнения сценария оболочки (.sh
) и сделайте Java saxon.transform для создания файла. Когда я запускаю файл PHP, он не показывает никаких ошибок, но файл не создается.
script.sh
исполняемый (chmod +x
), а также jar
путь предопределен
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
echo shell_exec('./script.sh');
Something went wrong.
Check the merged.html file.
Та же команда Java работает так, как и предполагалось при выполнении из командной строки. Это просто не работает в сети.
Я на Ubuntu 16.04, с PHP7.
Мы ценим любые предложения.
Благодарю.
Если вы проверите свой файл 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
Вероятно, это проблемы с правами доступа, которые вы получаете при создании выходного файла.
Других решений пока нет …