gpt4 book ai didi

我的 ubuntu 服务器上的 php shell_exec 不运行该命令!为什么会这样?

转载 作者:太空宇宙 更新时间:2023-11-04 05:31:50 25 4
gpt4 key购买 nike

这让我发疯。经过大量测试,我成功地在终端中运行了以下 .sh 文件,并且它按照我的预期完美运行。

adt -package -target apk -storetype pkcs12 -keystore $AND_CERT_FILE -storepass $AND_CERT_PASS "$OUTPUT" "$APP_XML" -C bin . -C icons/android . -extdir lib .

echo "DONE";

我想从 PHP 而不是终端运行它,所以我在 PHP 中编写了以下代码来调用 .sh 文件,但尽管 PHP 返回了“DONE”消息,但该命令不起作用。如果我输入错误的命令,则不会显示任何错误。这是我用 PHP 编写的:

$output = shell_exec("./test.sh");
echo $output;

有人有什么想法吗?

最佳答案

不能将选项与非选项参数混合使用。

正确的格式是:

command [-options ...] [--] [non-option arguments]

任何不以 - 开头的单词都将结束选项处理,裸露的 -- (可选)也是如此。之后的所有参数都不会被作为选项处理。

参数 "$OUTPUT""$APP_XML" 位于行尾,或者缺少 adt 的正确选项前缀(我将其作为练习)。

adt -package -target apk -storetype pkcs12 \
-keystore $AND_CERT_FILE \
-storepass $AND_CERT_PASS \
-C bin . \
-C icons/android . \
-extdir lib . \
"$OUTPUT" "$APP_XML"

请注意,我提交了原始代码的编辑,其中的行已在此处分解。在编辑之前我毫 headless 绪。添加 \ newline 对时,问题变得显而易见。

看看这个 adt packaging troubleshooting博客条目。看来证实了我的怀疑。博主明确警告最后指定任何文件名。

关于我的 ubuntu 服务器上的 php shell_exec 不运行该命令!为什么会这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11816238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com