开发者社区> 问答> 正文

crontab中执行的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命令效率高?

展开
收起
a123456678 2016-06-24 11:52:27 2257 0
1 条回答
写回答
取消 提交回答
  • 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";
    请求结果图
    screenshot

    2019-07-17 19:46:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载