gpt4 book ai didi

php - 运行一个 bash 脚本,它从 php 中的特定用户启动一个屏幕

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:56 27 4
gpt4 key购买 nike

关于从 PHP 启动屏幕这一主题,我已经深入研究了所有可以找到的内容。我正在启动游戏服务器,所以我必须从特定用户运行它,以便服务器可执行文件在正确的文件夹中查找其他文件。我已将 Apache 的默认用户更改为我必须从中运行服务器的用户。当我有 exec('cd/User/FolderWithScript && bash script.sh); 来模拟我将如何启动它时,它不会报告/var/log/apache2/中的任何错误error.log,但也不会启动服务器或其屏幕。

如果我使用 exec('cd/User/FolderWithExecutable && screen -dmS ServerExcutable +Args'); 本质上就是脚本的作用。

如果我使用 exec(cd/User/FolderWithScript && bash ServerExcutable +Args); 它会在/var/log/apache2/error.log 中吐出服务器的所有常用内容,但不幸的是,大多数游戏文件似乎也在错误的目录中查找,这些文件位于/User/.game。

谢谢!

最佳答案

我必须在我的 sudoers 文件中添加 www-data ALL=(ALL) NOPASSWD:/Path/To/Script 然后在 PHP 中运行 exec('cd/Path/To/Script(AndExecutable) && sudo -u User/Path/To/Script); 基本上,除非我从可执行文件所在的文件夹中运行脚本,否则它不会正确运行,除非我使用了在我的 sudoers 文件中输入的脚本的完整路径。

关于php - 运行一个 bash 脚本,它从 php 中的特定用户启动一个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903341/

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