将 "wine" 与 php 的 shell_exec 一起使用
use "wine" with php's shell_exec
我目前正在尝试使用我的 PHP-Script 中的 "wine" 命令。
如果我执行这个:
$shell = shell_exec("/usr/bin/wine --version");
一切正常,WINE 版本显示在 $shell.
但是,如果我尝试这样做:
$run = shell_exec("/usr/bin/wine ".$workdir."/bin/tool.exe -m ".$workdir."/bin/std.maps -a ".$workdir."/bin/alias.file -n ".$workdir."/files/".$project_name."/upload/dump.bin -o ".$workdir."/files/".$project_name."/maps/definitions.list");
这导致:
$run = shell_exec("/usr/bin/wine /var/www/html/bin/tool.exe -m /var/www/html/bin/std.maps -a /var/www/html/bin/alias.file -n /var/www/html/files/1-59374-94700/upload/dump.bin -o /var/www/html/files/1-59374-94700/maps/definitions.list 2>&1");
我得到以下输出:
wine: chdir to /.wine : No such file or directory
我做错了什么?如果我直接在 shell 中输入上面的命令,一切正常。如果我在没有 /usr/bin/ 的情况下在酒前这样做,输出是相同的。
兄弟,克里斯
我自己没有尝试过,但我认为这是因为 wine 运行 不同的用户使用不同的环境设置。尝试在 /var/www
中创建 .wine
目录,并使 www-data
用户成为该目录的所有者,并创建 /var/www/.wine
HOME 目录。
$run = shell_exec("HOME=/var/www/.wine /usr/bin/wine ".$workdir."/bin/tool.exe -m ".$workdir."/bin/std.maps -a ".$workdir."/bin/alias.file -n ".$workdir."/files/".$project_name."/upload/dump.bin -o ".$workdir."/files/".$project_name."/maps/definitions.list");
我目前正在尝试使用我的 PHP-Script 中的 "wine" 命令。
如果我执行这个:
$shell = shell_exec("/usr/bin/wine --version");
一切正常,WINE 版本显示在 $shell.
但是,如果我尝试这样做:
$run = shell_exec("/usr/bin/wine ".$workdir."/bin/tool.exe -m ".$workdir."/bin/std.maps -a ".$workdir."/bin/alias.file -n ".$workdir."/files/".$project_name."/upload/dump.bin -o ".$workdir."/files/".$project_name."/maps/definitions.list");
这导致:
$run = shell_exec("/usr/bin/wine /var/www/html/bin/tool.exe -m /var/www/html/bin/std.maps -a /var/www/html/bin/alias.file -n /var/www/html/files/1-59374-94700/upload/dump.bin -o /var/www/html/files/1-59374-94700/maps/definitions.list 2>&1");
我得到以下输出:
wine: chdir to /.wine : No such file or directory
我做错了什么?如果我直接在 shell 中输入上面的命令,一切正常。如果我在没有 /usr/bin/ 的情况下在酒前这样做,输出是相同的。
兄弟,克里斯
我自己没有尝试过,但我认为这是因为 wine 运行 不同的用户使用不同的环境设置。尝试在 /var/www
中创建 .wine
目录,并使 www-data
用户成为该目录的所有者,并创建 /var/www/.wine
HOME 目录。
$run = shell_exec("HOME=/var/www/.wine /usr/bin/wine ".$workdir."/bin/tool.exe -m ".$workdir."/bin/std.maps -a ".$workdir."/bin/alias.file -n ".$workdir."/files/".$project_name."/upload/dump.bin -o ".$workdir."/files/".$project_name."/maps/definitions.list");