我似乎无法在 IIS 7 和 Windows 2008 下运行 php exec()、system()... 等。这些命令返回一条警告消息,如“无法分叉”,来自 sysinternals 的 procmon 指出以下内容。
4:27:09.8102497 PM php-cgi.exe 3520 CreateFile C:\Program Files (x86)\PHP\v5.3\cmd.exe NAME NOT FOUND 所需访问:读取属性,处置:打开,选项:打开重解析点,属性:不适用,ShareMode:读取、写入、删除、AllocationSize:不适用。
我已授予模拟用户在 system32 和 wow64 下对 cmd.exe 的完全访问权限。我什至已将 apppool 权限授予 cmd.exe。上面的消息似乎表明 php 在错误的路径中寻找 cmd.exe,但是这台机器上的路径设置包含系统文件夹。完全被难住了。