【问题标题】:Unable to start VNC server from PHP无法从 PHP 启动 VNC 服务器
【发布时间】:2017-01-26 15:48:24
【问题描述】:

我正在尝试让 PHP 在启动游戏服务器之前启动 vncserver 环境。

if(isset($_POST['start-1']))
{   putenv('HOME=/home/psych/');
    shell_exec('sh /home/psych/mw3/Infected/start.sh');
    echo "SERVER 1 STARTED";
}

当我检查我的 apache 日志时,我每次都会收到此错误...

vncserver: The HOME environment variable is not set.

这是 start.sh 中的内容

vncserver -geometry 1000x800 -depth 24
cd /home/psych/mw3/Infected/
screen -d -m bash -c "export DISPLAY=:1 ; server.exe -param1 -param2";

如何设置 HOME 或避免它检查以便我的 php 可以启动服务器?

提前致谢!

更新:

我关闭了 export HOME=/home/psych 并得到了这个

vncserver: Could not create /home/psych//.vnc.

然后我尝试了export HOME=/并得到了这个...

vncserver: Could not create //.vnc.

我只需要了解HOME= 之后的内容

干杯

【问题讨论】:

  • 如果您使用不同于 psych 的用户运行 HTTP 服务器,那么查询的第二部分可能是权限问题。

标签: php environment-variables ubuntu-16.04


【解决方案1】:

以下是否有效?

shell_exec('export HOME=/home/psych && sh /home/psych/mw3/Infected/start.sh');

或者,尝试添加(start.sh 的开头):

export HOME

【讨论】:

  • 谢谢,但还是没有运气。
【解决方案2】:

需要做三件事:

  1. /etc/X11/Xwrapper.config 中的权限更改为以下内容:

    allowed_users=anybody

  2. 向脚本添加主目录:例如:export HOME=/var/www/

  3. 向脚本添加用户变量:例如:export USER=www-data

【讨论】:

    猜你喜欢
    • 2013-11-25
    • 2020-10-05
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 2019-07-20
    • 2011-08-05
    相关资源
    最近更新 更多