waq*_*ner 2 php windows apache service
我查阅了所有其他有关此问题,但他们没有帮助,所以:
我在域内的Windows Server 2003计算机上运行xampp(lite),apache作为服务安装.问题是:PHP函数exec,system,passthru等什么都不做,没有错误消息(apache的日志级别是debug,php error_reporting是E_ALL),没有程序执行,什么都没有,就好像函数调用isn'在那里
我尝试了不同的方法:exec,system,..; proc_open和WScript.Shell COM对象,没有任何效果.我尝试使用绝对路径,给用户权限,尝试了大量不同的.exe执行不同的操作,没有任何工作,没有执行任何操作.
我给了Apache服务我的用户名 ; 给了它自己的apache用户 ; 给了系统用户并勾选了" 允许与桌面交互 ".
php safe_mode已关闭,也没有禁用任何功能.
当运行apache而不是服务时,一切都运行良好.
知道什么可能是错的吗?
TIA
如果您尝试从Vista中的服务启动GUI应用程序,则会遇到很多麻烦.作为一项安全功能,Vista使用"交互式服务检测"调解服务与桌面的交互.
这意味着,如果您将PHP作为Apache服务的模块运行,则无法使用任何方法启动GUI应用程序.这样的事情是行不通的:
$ WshShell =新COM("WScript.Shell"); $ oExec = $ WshShell-> Run("notepad.exe",7,false);
因此,如果您想使用Apache/PHP作为启动GUI应用程序的代理,您需要将Apache作为控制台应用程序运行.
首先,如果Apache已作为服务安装,则需要使用服务管理单元将其启动类型设置为"manual".(%SystemRoot%\ system32\services.msc)在开始菜单搜索框中搜索服务.
然后将一个快捷方式添加到C:\ apache\bin\httpd.exe(或安装Apache的任何位置)到Startup文件夹,并将该快捷方式设置为最小化.你可以使用像TrayIt这样的应用程序!强制Apache进入系统托盘.
然后使用PHP网站上列出的任何方法,您将能够从PHP打开Windows应用程序并查看它的GUI.
| 归档时间: |
|
| 查看次数: |
6818 次 |
| 最近记录: |