3
您好我有這樣的Groovy腳本(在$ FRAPID_HOME/bin),然後我想它調用的Drupal:執行我自己的Groovy腳本在PHP
#!/usr/bin/env groovy
def cli = new CliBuilder(usage: 'frapid-generate-keys projectPath')
def opt = cli.parse(args)
if (opt.h || opt.arguments().isEmpty()) {
cli.usage()
return
}
def path = "."
println("Generating keys...")
def frapid = new Frapid()
println '---->' + opt.arguments()[0]
println("Keys genarated")
~
PHP代碼是這樣的:
function api_manager_generate_keys_form_submit($form, &$form_state) {
$output = shell_exec('frapid-generate-keys '. $form_state['values']['api_manager_project_root']);
drupal_set_message($output);
}
我的.bashrc的配置是這樣的:
export FRAPID_HOME=/home/admin1/frapid
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export GROOVY_HOME=/home/admin1/groovy-2.0.1
export CLASSPATH=$FRAPID_HOME/classes:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$GROOVY_HOME/bin:$PATH
當我試圖在Drupal apache的執行給了我這個錯誤:
sh: 1: frapi-generate-keys: not found
然後我試圖給的絕對路徑:
$output = shell_exec('/home/admin1/frapid/bin/frapid-generate-keys '. $form_state['values']['api_manager_project_root']);
但仍然是錯誤的:
/usr/bin/env: groovy: No such file or directory
您是否嘗試過從命令行手動執行腳本? – vector
從命令行運行良好 – Antonio
網絡服務器用戶是否有權限訪問該文件夾? – Clive