【问题标题】:How to execute aws cli commands with shell_exec?如何使用 shell_exec 执行 aws cli 命令?
【发布时间】:2020-04-20 17:04:27
【问题描述】:

尝试在本地服务器上使用 php shell_exec 执行 aws cli 命令(用于测试)。 我正在使用xampp, 视窗操作系统, Laravel 和 php, 我在 Windows 上安装了 aws cli。

Windows cmd 可识别 aws 命令,但当我尝试使用 shell_exec 执行 aws 命令时出现错误:“aws 未被识别为内部或外部命令”

试过这个简单的脚本:

$exec = shell_exec('aws --version');

$exec return null.

感谢任何帮助。

【问题讨论】:

  • 路径中可能找不到。尝试通过完整路径引用aws

标签: php amazon-web-services amazon-s3 aws-cli shell-exec


【解决方案1】:

如果您不能直接在 shell_exec() 中运行该命令,那么您可以使用该命令制作一个批处理文件并将其放在您网站的根目录中。然后,只需运行:

<?php echo exec("script.bat"); ?>

另外,请确保放置所需的任何环境变量,并建议使用 aws 可执行文件的完整路径

【讨论】:

  • 我创建了这个 bat 文件: cmd /k "aws --version" 当我在 windows cmd 上运行它时,它会返回预期的响应。但后来我用这样的 exec 函数运行它: $ecec= exec('C:\awsbat\first_simple_batch.bat'); $exec 返回 php 本地路径:"C:\\xampp\\htdocs\\php_project\\public>" 如何显示输出?
  • 你能用上面提到的aws命令的完整路径替换aws吗
【解决方案2】:

我解决了。这很简单。重新启动 xampp 是不够的。我也不得不退出xampp并重新进入

【讨论】:

    猜你喜欢
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多