我有一台服务器2008 64位机器,通过安装了fastcgi的php5。 我想每天凌晨3点运行一个.php脚本。 我设置了一个任务,并且“最后运行结果”显示“%1不是有效的Win32应用程序”
事件属性描述更多的失败:
“任务计划程序无法在任务”\ Something“的实例”{88cc01f4-9554-4b8f-9836-34d806337d7f}“中启动操作”D:\ InetPub \ tools \ something \ build.php“附加数据:错误值:2147942593 “。
任务类别:操作无法启动
是否可以使用任务计划程序运行脚本? 如果没有,我应该如何去执行一个PHP脚本自动执行?
谢谢
我主要在* nix机器上运行php,所以不知道这一点。
当有人用一些PHP请求一个页面时,通常PHP脚本是由Web服务器运行的。
在你的Server 2008设置中,你的.php的默认动作可能被设置为另一个动作(例如'在编辑器中打开文件'),而不是'使用php.exe运行脚本'
你必须调用PHP解释器,并使用您的实际脚本作为命令行参数。
就像是
php.exe d:\InetPub\tools\something\build.php
您也可以通过将.php文件与正确的程序关联来实现相同的效果
这是绝对可以安排的PHP脚本作为计划任务运行,并有可能传递参数的PHP脚本类似,但不一样,你通过浏览器传递给PHP脚本。 您将不会通过$ _REQUEST访问传递的参数。 您将使用$ _SERVER ['argv']来parsing自己。
在运行时环境中有所不同,所以如果您的脚本devise为既可以从浏览器也可以从命令行运行,则可以使用
if(PHP_SAPI=='cli'){ //this is command line interface }else{ // this is a different interface }