php-cgi如何使用(php cli模式执行php文件)

作者:神秘网友 发布时间:2020-04-16 01:23:44

php-cgi如何使用(php cli模式执行php文件)

php-cgi如何使用(php cli模式执行php文件)

需求:如果使用浏览器,发邮件100万封邮件。这个时候浏览器就不能动了要一直在发邮件这个页面打开着,因为你一切换页面发邮件这个任务就不会执行了。而且有什么异常出现任务挂了,可能会导致给某个用户发好几封。

PhpCLI模式的好处是,执行php程序,不需要浏览器,也不需要启动服务器


什么是Php的cli呢??

相信下图大家都不陌生,只是不知道如何使用而已

php-cgi如何使用(php cli模式执行php文件)

win需要通过cmd来执行(我的是phpstudy集成环境php.exe就在php-7.0.12-nts下面)

php-cgi如何使用(php cli模式执行php文件)

下图是test.php文件中的代码

php-cgi如何使用(php cli模式执行php文件)

使用cli执行:

php-cgi如何使用(php cli模式执行php文件)

php-cgi如何使用(php cli模式执行php文件)

进程退出之后,如何来完成队列中没有完成的任务呢??

通过exec函数来执行cli的命令,从而触发队列的执行(在php文件中触发队列)。说白了也就是php放到win7的后台中去跑

使用浏览器执行:

php-cgi如何使用(php cli模式执行php文件)

浏览器访问:cli_test.php这个文件

php-cgi如何使用(php cli模式执行php文件)

php-cgi如何使用(php cli模式执行php文件)

使用phpcli模式测试发邮件

思路:

1、根据条件查需要发邮件的,收件人邮箱号

2、封装邮件类库的domo

判断,第1步查到就发(轮询每次查n条),.

查不到就break终止 (查不到说明不需要发)

3、使用cmdcli调用这个文件进行发送

ajax异步触发邮件队列

php-cgi如何使用(php cli模式执行php文件)
相当于第1步和第2步同时执行;第3步:拿ajax触发;第4步的do_queue.php文件中写的就是cli_exec.php中的一样(使用cli执行quexe.php文件);

第5步的quexe.php文件中写的和cli_test.php中的一样(循环读取队列表,调类库的方法发送邮件);

看这的时候,建议先学习下http://blog.csdn.net/qq_33862644/article/details/79339532发邮件的原理,和调类库的方法(当然给这类库封装下)建议参考http://blog.csdn.net/qq_33862644/article/details/79339967

此思路的亮点是:

只要有人来注册,就可以执行第5步,会给上次执行不成功的任务,执行成功。以此类推

注意:队列表中只插入邮箱





php-cgi如何使用(php cli模式执行php文件)相关教程

  1. Golang container包下ring(数据结构中的循环链表)的使用
  2. Windows下使用Word2vec继续词向量训练
  3. redis 使用-->>基数统计算法-HyperLogLog 热点统计如何做?
  4. 输入函数cin、scanf函数的使用
  5. Win10 WSL2 Ubuntu18.04 发生 Segmentation fault 后,如何调试
  6. 小米8 升级MIUI 12后卡顿严重发烫耗电高如何降级到MIUI11
  7. Go语言(Golang)sort包的使用
  8. 使用Python爬取前程无忧上南京地区Python职位以及对应工资