有一个需要是要在后台长时间执行一个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
<code>sh -c "cd /home/wwwroot/think3;php index.php index/index;"</code>
然后crontab -e编辑任务,假设每分钟执行一次就是
<code>*/1 * * * * /bin/sh /root/cli.sh</code>
以上流程在thinkphp3.2.3下测试通过
thinkphp也支持cli模式