Heim > Backend-Entwicklung > PHP-Tutorial > linux - crontab中执行的php文件中遇到重定向会如何?

linux - crontab中执行的php文件中遇到重定向会如何?

WBOY
Freigeben: 2016-06-06 20:20:22
Original
1268 Leute haben es durchsucht

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

<code>header("Location: /from_index.php"); # 重定向(from_index.php的文件位置在:/www/)
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>*/5 9-23 * * * sleep 50 && php /www/index.php # php脚本的绝对路径
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

我了解到如果写成:

<code>*/5 9-23 * * * sleep 50 && curl -L -e '; auto' http://127.0.0.1/index.php # http访问</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

回复内容:

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

<code>header("Location: /from_index.php"); # 重定向(from_index.php的文件位置在:/www/)
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>*/5 9-23 * * * sleep 50 && php /www/index.php # php脚本的绝对路径
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

我了解到如果写成:

<code>*/5 9-23 * * * sleep 50 && curl -L -e '; auto' http://127.0.0.1/index.php # http访问</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

<code>php  index.php</code>
Nach dem Login kopieren

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

<code>curl -L http://127.0.0.1/index.php
</code>
Nach dem Login kopieren

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

<code>//index.php

header("Location:demo.php");</code>
Nach dem Login kopieren
<code>//demo.php

echo "this is demo";</code>
Nach dem Login kopieren

请求结果图
linux - crontab中执行的php文件中遇到重定向会如何?

服务器接收到的请求图
linux - crontab中执行的php文件中遇到重定向会如何?

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

curl 不可以使用 header

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage