Как я могу кодировать свой код Java, чтобы сделать ответ PHP Exec Command Store? - PullRequest
2 голосов
/ 22 марта 2012

Хорошо, у меня есть некоторый код Java:

public static void main(String[] args){
    if(args.length == 2){
        try {
        System.out.print(DecryptHash(args[0],args[1]));
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    else if(args.length == 3){
        try {
            System.out.print(GenerateHash(args[0], args[1], args[2]));
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    else
        System.out.println("Wrong command");

}

Я хочу использовать этот класс с php.Таким образом, я использую команду de exec таким образом,

exec("java -jar VerifyHash \"$Key\" \"$SignedHash\"",$DecryptedHash);
print_r(array_values($DecryptedHash));

, но вот результат: Array ()

Поэтому я решил посмотреть, передала ли мне команду exec ()это было неправильно, поэтому я повторил это и передал команду вручную в командной оболочке, это сработало.

Мой jar находится в том же каталоге, что и мой .php, что я делаю неправильно?Это война, я возвращаю неправильное значение (System.out.print), потому что я должен указать полный путь к .jar?

Ответы [ 3 ]

0 голосов
/ 22 марта 2012

Вы пробовали print_r без array_values ​​Также оборачиваете свой массив?

0 голосов
/ 23 марта 2012

Нашел проблему ... Я скомпилировал .JAR в java 7, и на сервере была установлена ​​java6 ...

Я должен выпить больше кофе: S

0 голосов
/ 22 марта 2012

Не знаю, помогает ли это, но должно быть:

exec("java -jar VerifyHash.jar \"$Key\" \"$SignedHash\"",$DecryptedHash);

где VerifyHash.jar - ваша скомпилированная Java-программа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...