直接CGI调用还是PHP exec / system?

时间:2011-05-09 13:42:13

标签: php cgi system exec

我可以选择直接通过CGI执行程序,也可以使用PHP exec / system。有什么不同?你还能说哪一个更安全吗?

1 个答案:

答案 0 :(得分:0)

通过CGI执行脚本与直接执行脚本没有多大区别。只需使用PHP-CGI二进制文件并执行:

exec("SCRIPT_FILENAME=cgi.php QUERY_STRING=userName=user123 php-cgi");
// use escapeshellarg() for variable parameters!

大多数CGI环境变量已经在当前的PHP环境中,因此您只需要覆盖一些。 QUERY_STRING对应于$_GET[]变量,例如。

性能方面没有什么区别。它通常比你通过网络服务器调用另一个子请求file_get_contents("http://localhost/cgi.php?user=123")更快。