为了账号安全,请及时绑定邮箱和手机立即绑定

通过 shell 脚本运行 Cordova - 权限问题

通过 shell 脚本运行 Cordova - 权限问题

PHP
Helenr 2023-04-28 15:08:36
我有一个从 PHP 调用的 shell 脚本(称为 test.sh)。在脚本中我只有:#!/bin/bashecho $(whoami)cordova platform version ios如果我从终端内调用 test.sh 它工作正常并返回 cordova ios 版本。如果我尝试使用 PHP 调用 test.sh,我会得到:cordova: not found我已将 apache 更改为以我的用户名而不是 _www 运行,但这没有用。任何人都可以指出我正确的方向,因为我猜这是一个权限问题?我现在通过删除 .sh 文件并仅使用 PHP 脚本(在用户 _www 下)进一步简化了它exec('echo $(whoami) 2>&1', $output, $return_var); print_r($output);echo "<br><br>"; putenv("CORDOVA_HOME=/usr/local/bin/cordova");exec('cordova -v 2>&1', $output, $return_var); print_r($output);注意:whoami 工作正常但仍未找到 corvoda。
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

为了解决这个问题,我查看了从终端和 PHP 返回的路径,它们都使用相同的用户名但返回了不同的路径详细信息。


添加到 PHP 后:


putenv("PATH=".getenv('PATH').":/Users/USERNAME/.sdkman/candidates/gradle/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands");


putenv("CORDOVA_HOME=/usr/local/bin/cordova");

它开始起作用了。我现在在查找证书时遇到问题,但在调查之后这将是一个不同的问题。


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信