我想用bat文件来执行类似MVC框架,路由访问形式的文件。代码如下:
D:\wamp\bin\php\php5.3.3\php-cgi.exe -f  http://localhost/magento7/customer/points/
但是后来,发现bat好像只能执行本地的PHP文件。
   
    其实我要这么做的目的是想,用任务计划每天自动执行一个PHP程序,所以才想到用bat执行的。各位有没有其它方法呢?

解决方案 »

  1.   


    我的网站架构是MVC的。直接用本地绝对路径是执行不了的。
      

  2.   

    调用浏览器执行
    @start http://localhost/magento7/customer/points/不过会有浏览器窗口出现
    用 vbs 可以隐去,只是只在 XP 下有效其他方法暂时不知道,你找到了记得告诉我
      

  3.   


    然后用计划任务在几分钟之后关闭这个窗口我不想弹出窗口,让客户看到,因为这个动作是积分更新的动作。也就是说我在每天0点的时候,检查是否有订单到了积分发放的期限,然后执行积分发放。如果只是在一个PHP文件那里,写上数据库连接,操作等,会不会不安全,就是现在不用MVC做这个积分检查和发放的动作,只是用这个PHP文件和数据库交互。
      

  4.   

    两个问题
    1.撇开php.exe不谈,单纯 http://localhost/magento7/customer/points/ 这个返回的是php格式么?
    2.既然是localhost,为何不直接用系统路径?如果期望php放在服务器上运行(例如含有需要apache之类的模块)
    建议采用curl/wget之类的命令行exe去请求,而不是php.exe
      

  5.   

    我也碰到过这种问题,暂时的解决方法是用系统的定时任务。将系统的浏览器默认为IE  定时执行以下代码
    DIM IE
    SET IE = CREATEOBJECT("INTERNETEXPLORER.APPLICATION")
    IE.NAVIGATE("http://localhost/magento7/customer/points/")
    IE.VISIBLE=false
    SET IE = NOTHING
    这样脚本执行的时候浏览器窗口就不打开了。
      

  6.   

    写个php脚本,用CURL,模拟一次访问过程,然后定时计划执行脚本。
      

  7.   

    正解,-f的参数应该是路径。前面有个http://,表示要使用HTTP协议,你那个脚本直接在服务器端就执行了,返回的是执行结果。也就是php-cgi获取到的是你请求的那个脚本的执行结果,而非脚本本身。