Я пытаюсь вызвать Java-программу в php, чтобы использовать ее с веб-интерфейсом.
Java-программа зависит от внешней библиотеки: commons-cli-1.2.jar
Так что в основном мне нужно экспортировать его перед вызовом java-программы; но если я сначала экспортирую его как:
shell_exec('export CLASSPATH=$CLASSPATH:~/lib/commons-cli-1.2.jar');
затем вызовите Java-программу как:
shell_exec('java ComputePagerank -i $para_i -d $para_d -e $para_e -o $para_o');
Я думаю, это создает разные оболочки для каждого вызова; тогда экспорт не имеет никакого влияния на программу Java. Или я не прав?
В противном случае он должен выводить файл на сервер. Но просто это не так. Итак, что не так? Есть идеи?
edit: Однако может ли это быть потому, что некоторые параметры, такие как para_i, обозначают имя входного файла, так что мне нужно указать полный путь для этого? Потому что я просто предполагаю, что если входной файл находится в том же рабочем каталоге, проблем не будет, не так ли?
edit-2: он правильно выводится, когда я использую командную строку;)