首页 > 解决方案 > 通过 shell 脚本运行 Cordova - 权限问题

问题描述

我有一个从 PHP 调用的 shell 脚本(称为 test.sh)。在脚本中,我只有:

#!/bin/bash
echo $(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。

标签: phpbashcordovashmacos-catalina

解决方案


使用 npm 全局安装 Cordova。目前 Cordova 在全球范围内您的主机中不可用。因此,首先在全球范围内进行。

在 OS X 和 Linux 上:

sudo npm install -g cordova

在 Windows 上:

C:\>npm install -g cordova

推荐阅读