我想使用PHP运行gradlew
。我尝试过的是使用exec(), shell_exec,
或passthru
。我在名为“build.php”的PHP脚本中执行了这些命令。我尝试从浏览器或 curl 调用脚本并出现此错误
Exception in thread "main" java.lang.RuntimeException: java.io.: /var/www/.gradle/wrapper/dists/gradle-2.2.1-all/6dibv5rcnnqlfbq9klf8imrndn/gradle-2.2.1-all.zip.lck (No such file or directory)
然而,当我使用php build.php
从命令行调用它时,它运行得非常好。
所以,我需要通过浏览器的用户操作执行gradlew
命令。我的问题:什么可能导致这个错误以及如何摆脱它?
已更新
这就是build.php的样子:
<?php
// some sorts of code ...
$alias = 'myalias';
$storepass = 'mypassword';
$keypass = 'mypassword';
$keystore = str_replace('.', '_', $packageName);
$exec = 'keytool -genkey -noprompt -keystore '.$keystore.'.keystore -alias '.$alias.' -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=kahfi, OU=ID, O=yanmii, L=jogja, ST=diy, C=ID" -storepass '.$storepass.' -keypass '.$keypass;
echo $exec;
$output = '';
exec($exec, $output);
print_r($output);
passthru("./gradlew assembleRelease 2>&1");
?>