运行bash脚本,该脚本从php中的特定用户启动屏幕
关于从PHP启动屏幕的主题,我已经深入研究了所有我能找到的东西。我正在启动一个游戏服务器,因此我必须从特定用户运行它,以便服务器可执行文件在正确的文件夹中查找其他文件。我已将Apache的用户从默认用户更改为必须从中运行服务器的用户。当我有运行bash脚本,该脚本从php中的特定用户启动屏幕,php,linux,Php,Linux,关于从PHP启动屏幕的主题,我已经深入研究了所有我能找到的东西。我正在启动一个游戏服务器,因此我必须从特定用户运行它,以便服务器可执行文件在正确的文件夹中查找其他文件。我已将Apache的用户从默认用户更改为必须从中运行服务器的用户。当我有exec('cd/User/FolderWithScript&&bash script.sh)时为了模拟我将如何启动它,它不会在/var/log/apache2/error.log中报告任何错误,但也不会启动服务器或其屏幕 如果我使用exec('cd/User
exec('cd/User/FolderWithScript&&bash script.sh)时代码>为了模拟我将如何启动它,它不会在/var/log/apache2/error.log中报告任何错误,但也不会启动服务器或其屏幕
如果我使用exec('cd/User/FolderWithExecutable&&screen-dmS-serverexecutable+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运行命令,会得到什么?我如何在终端中使用PHP?查找sudo命令以其他用户的身份运行命令。嗯,一开始也尝试过这一点。使用sudo-u User并将web用户的权限设置为ALL:(User)NOPASSWD:/User/FolderWithScript/script.shTypephp-a
作为要运行php的用户输入命令行,然后键入。按ctrl+c组合键可以杀死它。