0

我可以访问共享的网络主机。安装在那里的网站使用exec(). 大约 4 个月前,该功能已启用,但现在他们已将其disable_functions列入列表。他们把exec,passthrushell_exec放在那个列表上,但他们忘记了system:) 这让我觉得服务器管理员不太清楚他在做什么。无论如何,他们现在说这些功能不应该被启用,并且他们不会重新启用它们。

安装的网站用于exec()启动一些 php 脚本,这些脚本将做一些后台工作。现在我正在寻找是否有任何其他“合法”方式在后台启动这些 php 脚本(我希望system()能够工作,但也许他们将来也会禁用它)。现在我的简单问题是:在 perdefined 文件结构中,我看到一个 cgi-bin 文件夹。它有什么用?从我在网上阅读的内容来看,它用于在通过浏览器访问时生成“动态”页面,但服务器无论如何都安装了 php,所以我看不到它的用途。

4

1 回答 1

1

/cgi-bin/是应该放置CGI 脚本的目录。
您可以使用 CGI 解决 PHP 中对 exec 的限制。

创建一个以somefile.sh内容命名的文件:

#!/bin/sh
printf "Content-Type: text/plain\n\n"
#your code here

这仅在 /bin/sh 实际存在且可执行的情况下才有效(例如,如果您不在没有 /bin/sh 的 chroot 中)

有足够的方法来执行命令。如果他们禁用 CGI,您可以继续使用SSI

于 2010-08-27T19:43:30.393 回答