linux - crontab中执行的php文件中遇到重定向会如何?
PHP中文网
PHP中文网 2017-04-10 16:39:33
[PHP讨论组]

有index.php文件,其中包含代码:

header("Location: /from_index.php"); # 重定向(from_index.php的文件位置在:/www/)

使用crontab -e加入定时任务:

*/5 9-23 * * * sleep 50 && php /www/index.php # php脚本的绝对路径

请问这样的结构中,会执行from_index.php中的代码吗?

我了解到如果写成:

*/5 9-23 * * * sleep 50 && curl -L -e '; auto' http://127.0.0.1/index.php # http访问

是能够执行到from_index.php中的代码的。但是这样的写法是否没有使用php命令效率高?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
迷茫

php的执行
1.cli方式,直接用php脚本执行

php  index.php

2.经过服务器请求cgi方式

curl -L http://127.0.0.1/index.php

header函数跳转,是服务器响应给curl(相当于浏览器)做重定向,然后重新请求服务器
因此php /www/index.php,header函数是不会起作用的进行跳转到index.php脚本文件,因为没有经过服务器。

//index.php

header("Location:demo.php");
//demo.php

echo "this is demo";

请求结果图

服务器接收到的请求图

巴扎黑

如果使用curl的话你需要打开它的重定向开关

怪我咯

curl 不可以使用 header

PHP中文网

直接再在代码里面用 system 调用php命令执行那个php文件 不可以这样?

PHPz

第一个问题,不会,
第二个,不会有直接执行cli的性能高

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号