Я пытался запустить файл JAR, который будет читать из input.txt
и написать output.txt
так в консоли:
java -jar file.jar input.txt output.txt
И это работает на 100% нормально на моей машине. Мне нужно запустить его внутри скрипта php, и этот код работает на 100% нормально для меня (Mac OS, встроенный сервер php):
exec("java -jar file.jar input.txt output.txt");
Но как только я разверну его (сервер CentOS), где exec
функция разрешена, она не работает, она возвращает пустую строку, и jar не работает, запуск ее непосредственно из оболочки — это нормально.
Как я могу это исправить?
Заранее спасибо!
Проблема с вашим exec()
в том, что PHP не знает, где находится Java на сервере. Обновите вашу команду, чтобы указать полный путь к исполняемому файлу Java, и он должен работать, хотя вы должны также использовать полные пути к jar и текстовым файлам, пока вы там.
Других решений пока нет …