欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

crontab - cron thinkSegmentFault

程序员文章站 2024-01-20 10:33:40
...
有一个需要是要在后台长时间执行一个php脚本
我们使用的thinkphp框架
我查看了一下网上关于cron的使用
都要使用cron请求一个url地址
调用起来thinkphp的action
感觉这样不是特别合理
通过url的话还要过nginx fpm
是不是可以做到直接访问php文件
但是如果直接访问php文件
自动加载也是一个问题
各个大神怎么说!

回复内容:

有一个需要是要在后台长时间执行一个php脚本
我们使用的thinkphp框架
我查看了一下网上关于cron的使用
都要使用cron请求一个url地址
调用起来thinkphp的action
感觉这样不是特别合理
通过url的话还要过nginx fpm
是不是可以做到直接访问php文件
但是如果直接访问php文件
自动加载也是一个问题
各个大神怎么说!

首先ThinkPHP是支持cli模式下执行的,在项目目录中可以直接执行php index.php index/index

然后写一个非常简单脚本来跑thinkphp的命令行

cli.sh

sh -c "cd /home/wwwroot/think3;php index.php index/index;"

然后crontab -e编辑任务,假设每分钟执行一次就是

*/1 * * * * /bin/sh /root/cli.sh

以上流程在thinkphp3.2.3下测试通过

thinkphp也支持cli模式