2

我有这个可以正常工作的脚本(如果手动通过终端运行)

#!/bin/sh
unset DISPLAY
scriptname=$1
[ -f "$scriptname" ] && scriptname=$(winepath -w "$scriptname")
wine "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" "$scriptname" "/q"

带有 Apache、PHP
Wine 的 Ubuntu 服务器安装在文件夹 Program Files (x86) 中的 Inno Setup 5
ISS 文件:“/home/www/files/iss/Example.iss”
脚本 SH:“/home/www/iscc.sh”

1a - 如果我通过 SSH 访问终端并运行文件“iscc.sh”传递文件位置。“Iss”作为参数,构建正确完成,没有问题。
2a - 如果我在一行(内联)中运行所有命令,编译也可以正确完成而没有问题。

1b - “/home/www/iscc.sh” “/home/www/files/iss/Example.iss”
2b - 取消设置显示 && scriptname="/home/www/files/iss/Example.iss" && [ - f "$scriptname" ] && scriptname=$(winepath -w "$scriptname") && wine "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" "$scriptname" "/q"

但问题如下,通过 PHP,如果我使用命令 shell_exec 或 exec 或 system,它们都不能正常运行。

什么可能导致这些失败,有人可以帮我解决这个问题吗?我不明白为什么不编译。

4

0 回答 0