花童妹妹 發表於 2024-1-25 00:00:00

linux系统下定时执行php脚本的方法

<p>
        <strong>前言</strong></p>
<p>
        在windows服务端定时执行某个程序代码还是比较简单的,只要在系统中做定时任务就可以了,目前刚刚接触到linux下的定时任务,这在好多公司的面试中都会提到的,而对于linux小白的我来说,是个不小的挑战,听单位的同事说,linux定时执行PHP脚本也是很简单的,linux系统实现计划任务一般采用crontab工具,好了,目前分享一个可以执行成功的php脚本,供大家参考了。</p>
<p>
        1. 在需要定时执行的PHP文件的第一行加</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterphp" id="highlighter_859947">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="php plain">view plain </code><code class="php functions">copy</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="php spaces"> </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="php plain">#! /bin/local/php -q</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        其中 /bin/local/php 是自己的php.exe 所在的位置</p>
<p>
        2. 上传要定时执行的php文件到一个位置,可以通过/path/to/your/php/script.php 访问到。并且要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterphp" id="highlighter_401527">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="php plain">view plain </code><code class="php functions">copy</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="php spaces"> </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="php functions">chmod</code> <code class="php plain">+x script.php</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        3. 打开编辑crontab文件</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_941756">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">view plain copy </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash functions">vi</code> <code class="bash plain">/etc/crontab</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        在里面添加如:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_487328">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">view plain copy </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash spaces"> </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">01 6 * * * root -q </code><code class="bash plain">/bin/local/php</code> <code class="bash plain">/path/to/your/php/script</code><code class="bash plain">.php</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        这个意思就是每天6点01分执行script.php</p>
<p>
        在等待定时执行之前也可以先在Linux下尝试/bin/local/php /path/to/your/php/script.php,如果能运行成功了,说明就可以了,然后就可以等待定时运行了。</p>
<p>
        这样就可以了,注意script.php本身代码中不能有相对路径之类的,需要时在linux中的绝对路径。</p>
<p>
        终于测试成功。</p>
<p>
        <strong>总结</strong></p>
<p>
        以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。</p>
頁: [1]
查看完整版本: linux系统下定时执行php脚本的方法