我可以选择直接通过CGI执行程序,也可以使用PHP exec / system。有什么不同?你还能说哪一个更安全吗?
答案 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")
更快。