IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    命令行下运行PHP

    失去的地平线发表于 2017-02-20 10:15:35
    love 0

    之前写过一篇《PHP实现程序值守》,在实际应用中,特别是自有服务器或者是本地执行中,还是非常不方便的,特别是对于线程的控制。
    在cmd下运行php可以妥善解决上类问题。

    w8o.php部分代码如下:

    // 设置编码
    header("Content-type: text/html; charset=utf-8");
    // 设置时区
    date_default_timezone_set("Asia/Shanghai");
    // 设置脚本执行时间
    set_time_limit(0);
    
    // 死循环执行程序
    do{
     // 获取参数
     echo var_dump($argv);
     // 输出
     flush();
     // 请求间隔时间
     sleep(10);
    }while(true);
    

    然后使用cmd运行,以本机安装的xammp为例子运行执行

    d:
    cd xampp
    cd php
    php.exe -f D:\xampp\htdocs\w8o.php 100
    

    即可实现可视化的程序值守,且多线程执行上也比直接采用浏览器来运行更加方便。

    几个需要注意的地方:

    一、CMD下执行php是不能直接获取$_GET参数的,我们需要采用$argv来获取,仅需要在需要执行的页面后加空格直接传递参数的值即可,参数允许多个,并会以数组的方式返回。

    二、一般我们写php均采用UTF-8编码,而在cmd下执行输出时会产生乱码,可以在CMD下执行chcp 65001,即可切换到UTF-8编码。

    三、关于中文输出,在UTF-8编码下,我实验过网上的各种方法,其实都存在缺陷,并不完美,建议大家在输出的时候还是采用英文输出比较好。或者你有完美的解决方案,也可以给我留言。

     



沪ICP备19023445号-2号
友情链接