使用PHP exec()的Apache文件执行模型

使用PHP exec()的Apache文件执行模型,php,apache,exec,Php,Apache,Exec,新注册的用户在这里是一个长期的潜伏者 我有一个Apache2.2Web服务器作为服务在Windows本地(目前)运行,安装了PHP5。我使用PHP的exec()运行托管在服务器上的命令行客户机(.exe),该客户机将用户身份验证到数据库,并代表用户进行预定义的SQL查询 我的问题是:Apache如何运行多个用户通过(相同)PHP exec()命令请求的程序?在这种情况下,Apache将为所有访问它的用户使用同一个客户端实例,还是为每个用户创建一个新的客户端实例 由于客户机是为单个用户设计的,因此

新注册的用户在这里是一个长期的潜伏者

我有一个Apache2.2Web服务器作为服务在Windows本地(目前)运行,安装了PHP5。我使用PHP的exec()运行托管在服务器上的命令行客户机(.exe),该客户机将用户身份验证到数据库,并代表用户进行预定义的SQL查询

我的问题是:Apache如何运行多个用户通过(相同)PHP exec()命令请求的程序?在这种情况下,Apache将为所有访问它的用户使用同一个客户端实例,还是为每个用户创建一个新的客户端实例

由于客户机是为单个用户设计的,因此如果Apache确实重用客户机的同一实例,它将遇到许多并发问题


谢谢你的帮助,谢谢

PHP每次调用
exec()
时都会启动该进程,并且它会一直运行,直到完成为止。因此,如果多个用户同时访问触发该进程的网站脚本,则最终将同时运行该进程的多个副本


除非您使用的是某种非常奇怪的数据库,否则可能有比启动命令行工具更好的查询方法。例如,如果您的数据库有一个ODBC驱动程序,您可以通过PHP扩展直接使用它。

我实际上没有对数据库的透明访问权限,我连接数据库的唯一方法是通过这个客户端,但感谢您提供的有关ODBC的提示!我会记住这一点,以备将来参考。