好吧我需要运行我的Apache Web服务器为根。为此,我输入了whoami;在终端。它给我输出:根。但是,当我检查我的Apache服务器作为root用户运行或不执行以下php脚本:<?php echo whoami; ?>它给我输出:没有人。因此,任何建议执行/登录为apache的根用户?Apache作为Ubuntu的根目录
回答
如果你知道你在做什么,看看文件的/ etc/apache2的/ envvars中:
您可以自定义这些变量
export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root
没有重新编译Apache就无法工作 – David 2013-01-03 02:43:11
我建议创建一个外部的PHP文件您的服务器将处理与此扩展相关的所有内容。然后,您可以将shell_exec
与sudo
结合起来调用此脚本。
这样,你可以把你的web服务器用户放在你的sudoers文件中,让它以root身份运行php-cli。
然后,在你的脚本,你可以简单地使用:
$output = shell_exec("sudo /bin/php /yourscript.php");
这将是一个更安全的解决方案比运行Apache的根,这在我看来,是一个柠坏主意,即使你知道你在做什么。
对1M用户来说会更快吗? – 2013-05-20 04:36:44
在最初的问题中,表现不是问题。就像我说的,这是一个非常糟糕的做法,我不会太依赖它。因人而异。 – 2013-05-21 12:37:52
我以root身份回应了运行apache进程的担忧。这只是一个坏主意。 这就是为什么我最近发布了一个项目,允许PHP获得并与真正的Bash shell进行交互。在这里获得:https://github.com/merlinthemagic/MTS
下载您只需使用下面的代码后:
$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1 = $shell->exeCmd('php /var/scripts/test.php');
//the return will be a string containing the return of the script
echo $return1;
- 1. 将子目录作为apache的根目录处理
- 2. 在子目录中使用文件作为Apache的根路径
- 3. Apache的根目录相对链接
- 4. 的Apache,根,子域和子目录
- 5. 根目录的Apache .htaccess变量?
- 6. 更改apache中的web根目录(xampp)
- 7. Apache 2的默认文档根目录将不会改变(Ubuntu的)
- 8. 如何将Apache文档根目录指向Ubuntu中的特定文件夹?
- 9. 在Apache的文档根目录下工作
- 10. Apache .htaccess将目录重写为目录
- 11. 如何使用Dropbox文件夹作为Apache的文档根目录
- 12. 如何将文件夹名称更改为Ubuntu根目录
- 13. Apache mod_rewrite - 将域根目录转移到子目录
- 14. 使用特定目录作为根目录压缩目录的命令
- 15. Jenkins用户拥有根目录作为主目录
- 16. .htaccess文件将子目录作为根目录
- 17. Apache vhost解析为localhost文件根目录
- 18. Apache 2的安装目录/ Ubuntu的13.04 - 包没有找到
- 19. EGit工作/根目录
- 20. 作为静态文件的根的项目子目录
- 21. Apache Buildr - 将项目解压缩到项目根目录
- 22. Apache配置 - 指向Ubuntu中的目录14.04
- 23. Htpasswd也为根目录
- 24. python不工作在ubuntu主目录
- 25. htaccess将根目录更改为子目录,但只允许根目录url
- 26. Apache本地根目录在本地主机上的开发目录
- 27. Apache 403在根目录之外配置目录时出现禁止的错误
- 28. 将应用添加到Ubuntu的根目录自动运行
- 29. Linux的Ubuntu目录root?家?
- 30. 使用JBoss Cache作为Apache Lucene的目录
为什么要那样做ಠ_ಠ – 2012-03-26 14:10:53
因为我在Xen上virtualization.I工作正在使用的libvirt-PHP与管理程序交谈开始创建销毁等等等等。为此,我使用了这个php脚本:<?php $ conn = libvirt_connect(“xen:///”); $ name = libvirt_domain_lookup_by_id($ conn,3); $ dest = libvirt_domain_destroy($ name); echo $ dest; ? \t > 当我执行这一点,显示我:警告:libvirt_domain_destroy()[function.libvirt域灭]:操作virDomainDestroy禁止在/opt/lampp/htdocs/xampp/shutdown.php只读访问在线5 – Alee 2012-03-26 14:14:19
我不认为你需要以root身份运行Apache/PHP才能连接到libvirt。连接时只需提供适当的凭据。 – Brian 2012-03-26 14:26:49