выполнение Java с помощью PHP-справки - PullRequest
2 голосов
/ 25 июля 2011

поэтому у меня есть следующий скрипт

$execStr = 'cd /D Z:\\folder'
exec($execStr);
$execStr = 'java -jar somejar.jar';
exec($execStr);

jar выполняет некоторые операции с базой данных mysql ...

но когда я запускаю его, кажется, что jar не работал должным образом, потому что база данных не изменилась

но тогда, когда я запускаю точно такие же строки из командной строки, это будет работать правильно

что я делаю не так?

Ответы [ 4 ]

3 голосов
/ 25 июля 2011

shell_exec('/path/to/java -jar Z:\folder\somejar.jar');
, куда вы переходите / путь / к реальному месту, откуда запускается Java.

1 голос
/ 25 июля 2011

Попробуйте запустить dir или ls после вашего cd, чтобы убедиться, что среда exec сохраняется от одной команды к другой.

1 голос
/ 25 июля 2011

Попробуйте это:

$execStr = 'java -jar Z:\folder\somejar.jar';
shell_exec($execStr);
0 голосов
/ 25 июля 2011

Полагаю, это потому, что когда вы звоните java -jar ..., вы больше не находитесь в каталоге Z:\folder. Попробуйте одну команду:

java -jar "Z:\folder\somejar.jar"
...