{"id":865,"date":"2025-06-12T01:29:33","date_gmt":"2025-06-11T17:29:33","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/865.html"},"modified":"2025-06-12T01:29:33","modified_gmt":"2025-06-11T17:29:33","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8laravel%e4%b8%ad%e5%ae%89%e6%8e%92%e4%bb%bb%e5%8a%a1%ef%bc%9a%e5%bc%80%e5%8f%91%e8%80%85%e6%8c%87%e5%8d%97","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/865.html","title":{"rendered":"\u5982\u4f55\u5728Laravel\u4e2d\u5b89\u6392\u4efb\u52a1\uff1a\u5f00\u53d1\u8005\u6307\u5357"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312;Laravel&#20013;&#23433;&#25490;&#20219;&#21153;&#26159;&#19968;&#20010;&#24120;&#35265;&#30340;&#38656;&#27714;&#65292;&#21487;&#20197;&#25552;&#39640;&#24212;&#29992;&#31243;&#24207;&#30340;&#24615;&#33021;&#21644;&#21709;&#24212;&#24615;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#20351;&#29992;Laravel&#26469;&#23433;&#25490;&#20219;&#21153;&#30340;&#22522;&#26412;&#25351;&#21335;&#12290;<\/p>\n<h3>1. &#23433;&#35013;Laravel&#20219;&#21153;&#35843;&#24230;<\/h3>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#20102;Laravel&#12290;&#22914;&#26524;&#27809;&#26377;&#23433;&#35013;&#65292;&#21487;&#20197;&#36890;&#36807;Composer&#26469;&#23433;&#35013;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer create-project --prefer-dist laravel\/laravel my-laravel-app\ncd my-laravel-app<\/code><\/pre>\n<p>&#28982;&#21518;&#65292;&#23433;&#35013;Laravel&#30340;&#20219;&#21153;&#35843;&#24230;&#21253;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan make:command SendEmail<\/code><\/pre>\n<p>&#36825;&#23558;&#21019;&#24314;&#19968;&#20010;&#21517;&#20026;<code>SendEmail<\/code>&#30340;&#21629;&#20196;&#25991;&#20214;&#12290;<\/p>\n<h3>2. &#32534;&#36753;&#20219;&#21153;&#21629;&#20196;<\/h3>\n<p>&#25171;&#24320;<code>app\/Console\/Commands\/SendEmail.php<\/code>&#25991;&#20214;&#65292;&#24182;&#32534;&#36753;&#23427;&#20197;&#23454;&#29616;&#20320;&#38656;&#35201;&#30340;&#20219;&#21153;&#36923;&#36753;&#12290;&#20363;&#22914;&#65292;&#20320;&#21487;&#20197;&#28155;&#21152;&#19968;&#20010;&#21457;&#36865;&#30005;&#23376;&#37038;&#20214;&#30340;&#21151;&#33021;&#65306;<\/p>\n<pre><code class=\"language-php\">namespace AppConsoleCommands;\n\nuse IlluminateConsoleCommand;\nuse IlluminateSupportFacadesMail;\n\nclass SendEmail extends Command\n{\n    \/**\n     * The name and signature of the console command.\n     *\n     * @var string\n     *\/\n    protected $signature = 'send:email';\n\n    \/**\n     * The description of the command.\n     *\n     * @var string\n     *\/\n    protected $description = 'Send an email to a user';\n\n    \/**\n     * Execute the console command.\n     *\n     * @return int\n     *\/\n    public function handle()\n    {\n        \/\/ &#21457;&#36865;&#37038;&#20214;&#21040;&#29992;&#25143;\n        Mail::to('example@example.com')-&gt;send(new AppMailWelcomeMail());\n\n        return 0;\n    }\n}<\/code><\/pre>\n<h3>3. &#37197;&#32622;&#20219;&#21153;&#35843;&#24230;<\/h3>\n<p>Laravel&#30340;&#40664;&#35748;&#20219;&#21153;&#35843;&#24230;&#22120;&#26159;&#36890;&#36807;<code>crontab<\/code>&#26469;&#25191;&#34892;&#20219;&#21153;&#30340;&#12290;&#20320;&#38656;&#35201;&#22312;&#20320;&#30340;&#26381;&#21153;&#22120;&#19978;&#35774;&#32622;<code>cron<\/code>&#20219;&#21153;&#65292;&#20197;&#20415;&#23450;&#26399;&#36816;&#34892;&#36825;&#20123;&#20219;&#21153;&#12290;<\/p>\n<h4>&#22312;Linux&#19978;&#37197;&#32622;<code>cron<\/code><\/h4>\n<ol>\n<li>\n<p>&#25171;&#24320;&#32456;&#31471;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#26597;&#30475;&#24403;&#21069;&#29992;&#25143;&#30340;<code>cron<\/code>&#20316;&#19994;&#65306;<\/p>\n<pre><code class=\"language-bash\">crontab -l<\/code><\/pre>\n<\/li>\n<li>\n<p>&#28155;&#21152;&#19968;&#20010;&#26032;&#30340;&#20219;&#21153;&#34892;&#65292;&#20363;&#22914;&#27599;&#22825;&#26089;&#19978;8&#28857;&#21457;&#36865;&#19968;&#23553;&#37038;&#20214;&#12290;&#20551;&#35774;&#20320;&#30340;&#20219;&#21153;&#21629;&#20196;&#20301;&#20110;<code>app\/Console\/Commands\/SendEmail.php<\/code>&#65292;&#24182;&#19988;&#23427;&#38656;&#35201;&#19968;&#20010;&#21442;&#25968;&#65288;&#20363;&#22914;&#29992;&#25143;ID&#65289;&#65292;&#20320;&#21487;&#20197;&#36825;&#26679;&#20570;&#65306;<\/p>\n<pre><code class=\"language-bash\">0 8 * * * php \/path\/to\/your\/project\/artisan send:email --user-id=1<\/code><\/pre>\n<\/li>\n<li>\n<p>&#20445;&#23384;&#24182;&#36864;&#20986;&#32534;&#36753;&#22120;&#12290;<\/p>\n<\/li>\n<\/ol>\n<h4>&#22312;Windows&#19978;&#37197;&#32622;<code>cron<\/code><\/h4>\n<ol>\n<li>&#25171;&#24320;&ldquo;&#25511;&#21046;&#38754;&#26495;&rdquo; -&gt; &ldquo;&#31995;&#32479;&#21644;&#23433;&#20840;&rdquo; -&gt; &ldquo;&#31995;&#32479;&rdquo; -&gt; &ldquo;&#39640;&#32423;&#31995;&#32479;&#35774;&#32622;&rdquo;&#12290;<\/li>\n<li>&#28857;&#20987;&ldquo;&#29615;&#22659;&#21464;&#37327;&rdquo;&#25353;&#38062;&#12290;<\/li>\n<li>&#22312;&ldquo;&#31995;&#32479;&#21464;&#37327;&rdquo;&#37096;&#20998;&#65292;&#25214;&#21040;&#24182;&#36873;&#25321;&ldquo;Path&rdquo;&#65292;&#28982;&#21518;&#28857;&#20987;&ldquo;&#32534;&#36753;&rdquo;&#12290;<\/li>\n<li>&#28155;&#21152;Laravel&#39033;&#30446;&#30340;&#26681;&#30446;&#24405;&#21040;&#36335;&#24452;&#21015;&#34920;&#20013;&#12290;<\/li>\n<li>&#20851;&#38381;&#25152;&#26377;&#31383;&#21475;&#24182;&#37325;&#26032;&#21551;&#21160;&#21629;&#20196;&#25552;&#31034;&#31526;&#25110;PowerShell&#12290;<\/li>\n<\/ol>\n<h3>4. &#27979;&#35797;&#20219;&#21153;<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#27979;&#35797;&#20219;&#21153;&#26159;&#21542;&#25353;&#39044;&#26399;&#24037;&#20316;&#12290;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#25191;&#34892;&#19968;&#27425;&#20219;&#21153;&#65306;<\/p>\n<pre><code class=\"language-bash\">php artisan queue:work<\/code><\/pre>\n<p>&#22914;&#26524;&#19968;&#20999;&#27491;&#24120;&#65292;&#20320;&#24212;&#35813;&#20250;&#30475;&#21040;&#31867;&#20284;&#22914;&#19979;&#30340;&#36755;&#20986;&#65306;<\/p>\n<pre><code>[2023-04-01 12:34:56] Running [AppConsoleCommandsSendEmail]\nSending email to example@example.com<\/code><\/pre>\n<p>&#36825;&#26679;&#65292;&#20320;&#23601;&#25104;&#21151;&#22320;&#22312;Laravel&#20013;&#23433;&#25490;&#20102;&#19968;&#20010;&#20219;&#21153;&#12290;&#26681;&#25454;&#20320;&#30340;&#20855;&#20307;&#38656;&#27714;&#65292;&#20320;&#21487;&#33021;&#36824;&#38656;&#35201;&#35843;&#25972;&#20219;&#21153;&#30340;&#39057;&#29575;&#12289;&#38431;&#21015;&#31867;&#22411;&#31561;&#21442;&#25968;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#20219;&#21153;&#35843;&#24230;&#26159;&#29616;&#20195;Web&#24212;&#29992;&#31243;&#24207;&#24320;&#21457;&#20013;&#30340;&#19968;&#20010;&#37325;&#35201;&#26041;&#38754;&#12290;&#22312;Laravel&#65292;&#19968;&#20010;&#38750;&#24120;&#27969;&#34892;&#30340;PHP&#26694;&#26550;&#20013;&#65292;&#20219;&#21153;&#35843;&#24230;&#26082;&#24378;&#22823;&#21448;&#31616;&#21333;&#65292;&#20801;&#35768;&#24320;&#21457;&#32773;&#22312;&#24212;&#29992;&#20013;&#27969;&#30021;&#19988;&#23500;&#26377;&#34920;&#29616;&#21147;&#22320;&#23450;&#20041;&#21629;&#20196;&#35843;&#24230;&#34920;&#12290;&#26412;&#25945;&#31243;&#23558;&#24102;&#20320;&#20102;&#35299;&#35774;&#32622;&#20219;&#21153;&#35843;&#24230;&#30340;&#36807;&#31243;&#65292;&#24182;&#25552;&#20379;&#19968;&#20123;&#24120;&#35265;&#30340;&#35843;&#24230;&#22330;&#26223;&#31034;&#20363;&#12290;<\/p><p>&#22312;&#25105;&#20204;&#28145;&#20837;&#25506;&#35752;Laravel&#35843;&#24230;&#22120;&#20043;&#21069;&#65292;&#35831;&#30830;&#20445;&#24744;&#27491;&#22312;&#36816;&#34892;&#29256;&#26412;5.0&#25110;&#26356;&#39640;&#65292;&#22240;&#20026;&#27492;&#29256;&#26412;&#25165;&#24341;&#20837;&#20102;&#20219;&#21153;&#35843;&#24230;&#21151;&#33021;&#12290;&#35843;&#24230;&#22120;&#20381;&#36182;&#20110;&#36825;&#20010;&#29305;&#24615;&#12290;<code>cron<\/code>&#19968;&#31181;&#22522;&#20110;&#26102;&#38388;&#30340;&#20316;&#19994;&#35843;&#24230;&#22120;&#22312;Unix-like&#25805;&#20316;&#31995;&#32479;&#19978;&#65292;&#22240;&#27492;&#24744;&#30340;&#26381;&#21153;&#22120;&#24517;&#39035;&#20855;&#22791;&#12290;<code>cron<\/code>Running.<\/p><h2>&#37197;&#32622;&#20219;&#21153;&#35843;&#24230;&#22120;<\/h2><p>&#35843;&#24230;&#22120;&#30340;&#20837;&#21475;&#28857;&#26159;&#12290;<code>app\/Console\/Kernel.php<\/code>&#25991;&#20214;&#12290;&#36825;&#20010;&#25991;&#20214;&#21253;&#21547;&#30340;&#20869;&#23481;&#26159;&#65306;<code>schedule<\/code>&#26041;&#27861;&#65292;&#21363;&#24744;&#23558;&#23450;&#20041;&#25152;&#26377;&#23450;&#26102;&#20219;&#21153;&#30340;&#22320;&#26041;&#12290;<\/p><pre><code>\nprotected function schedule(Schedule $schedule)\n{\n  $schedule-&gt;command('inspire')-&gt;hourly();\n}\n<\/code><\/pre><p>&#19968;&#26086;&#24744;&#23450;&#20041;&#20102;&#24744;&#30340;&#26085;&#31243;&#65292;&#23601;&#38656;&#35201;&#26377;&#19968;&#20010;&#21333;&#19968;&#30340;<code>cron<\/code>&#22312;&#24744;&#30340;&#26381;&#21153;&#22120;&#19978;&#36816;&#34892;Laravel&#21629;&#20196;&#35843;&#24230;&#22120;&#30340;&#20837;&#21475;&#33050;&#26412;&#27599;&#20998;&#38047;&#25191;&#34892;&#19968;&#27425;&#12290;<\/p><pre><code>* * * * * cd \/path-to-your-project &amp;&amp; php artisan schedule:run &gt;&gt; \/dev\/null 2&gt;&amp;1<\/code><\/pre><h2>&#35745;&#21010;&#20219;&#21153;&#30340;&#31867;&#22411;<\/h2><p>&#23450;&#26102;&#20219;&#21153;&#21487;&#20197;&#26159;&#21629;&#20196;&#12289;shell &#21629;&#20196;&#25110;&#22238;&#35843;&#20989;&#25968;&#12290;&#20197;&#19979;&#26159;&#19968;&#20123;&#31034;&#20363;&#65306;<\/p><h3>&#21280;&#20154;&#21629;&#20196;<\/h3><p>&#35745;&#21010;&#27599;&#26085;&#21320;&#22812;&#36816;&#34892;&#19968;&#27425;&#25163;&#33402;&#20154;&#21629;&#20196;&#65306;<\/p><pre><code>\n$schedule-&gt;command('database:backup')-&gt;dailyAt('00:00');\n<\/code><\/pre><h3>&#25490;&#38431;&#21629;&#20196;<\/h3><p>&#22914;&#26524;&#38656;&#35201;&#21518;&#21488;&#25191;&#34892;&#21629;&#20196;&#65292;&#21487;&#20197;&#20351;&#29992;&#38431;&#21015;&#21151;&#33021;&#12290;<code>queue<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>\n$schedule-&gt;command('email:send --force')-&gt;daily()-&gt;queue();\n<\/code><\/pre><h3>&#25191;&#34892;Shell&#21629;&#20196;<\/h3><p>&#20320;&#21487;&#20197;&#23450;&#20041;&#23450;&#26102;&#36816;&#34892;&#30340;shell&#21629;&#20196;&#65306;<\/p><pre><code>\n$schedule-&gt;exec('node \/home\/path-to-node-script.js')-&gt;everyFiveMinutes();\n<\/code><\/pre><h2>&#31649;&#29702;&#26085;&#31243;<\/h2><p>Laravel &#25552;&#20379;&#20102;&#22810;&#31181;&#26041;&#27861;&#26469;&#25511;&#21046;&#23450;&#26102;&#25191;&#34892;&#30340;&#39057;&#29575;&#20197;&#21450;&#20915;&#23450;&#20309;&#26102;&#25191;&#34892;&#30340;&#20219;&#21153;&#32422;&#26463;&#12290;<\/p><h3>&#38142;&#24335;&#35843;&#29992;&#26469;&#25191;&#34892;&#39057;&#32321;&#30340;&#20219;&#21153;<\/h3><p>&#26041;&#27861;&#38142;&#21487;&#20197;&#29992;&#20110;&#29305;&#23450;&#39057;&#29575;&#65306;<\/p><pre><code>\n$schedule-&gt;command('reports:generate')-&gt;weekly()-&gt;mondays()-&gt;at('15:00');\n<\/code><\/pre><h3>&#29615;&#22659;&#21644;&#32500;&#25252;&#27169;&#24335;&#32422;&#26463;<\/h3><p>&#39044;&#23450;&#30340;&#20219;&#21153;&#21487;&#20197;&#20165;&#22312;&#26576;&#20123;&#29615;&#22659;&#20013;&#36816;&#34892;&#65292;&#25110;&#32773;&#22312;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#19981;&#22312;&#32500;&#25252;&#27169;&#24335;&#26102;&#36816;&#34892;&#65306;<\/p><pre><code>$schedule-&gt;command('email:customers')\n         -&gt;daily()\n         -&gt;when(fn () =&gt; ! app()-&gt;isDownForMaintenance());\n\n$schedule-&gt;command('email:customers')\n         -&gt;daily()\n         -&gt;environments(['production', 'staging']);\n<\/code><\/pre><h2>&#38450;&#27490;&#20219;&#21153;&#37325;&#21472;<\/h2><p>Laravel &#38450;&#27490;&#20219;&#21153;&#37325;&#21472;&#40664;&#35748;&#24773;&#20917;&#19979;&#36890;&#36807;&#20351;&#29992; Laravel &#30340;&#26426;&#21046;&#23454;&#29616;&#12290;<code>withoutOverlapping<\/code>&#26041;&#27861;&#65306;<\/p><pre><code>\n$schedule-&gt;command('emails:send')-&gt;withoutOverlapping()-&gt;everyMinute();\n<\/code><\/pre><h2>&#22909;&#30340;&#65292;&#35831;&#25552;&#20379;&#38656;&#35201;&#32763;&#35793;&#30340;&#25991;&#26412;&#12290;<\/h2><p>&#35201;&#23558;&#35745;&#21010;&#20219;&#21153;&#30340;&#32467;&#26524;&#36755;&#20986;&#21040;&#25991;&#20214;&#25110;&#36890;&#36807;&#30005;&#23376;&#37038;&#20214;&#21457;&#36865;&#65292;&#35831;&#20351;&#29992;&#12290;<code>sendOutputTo<\/code>and &#26159;&ldquo;&#24182;&#19988;&rdquo;&#30340;&#24847;&#24605;&#12290;<code>emailOutputTo<\/code>&#26041;&#27861;&#20998;&#21035;&#65306;<\/p><pre><code>$schedule-&gt;command('report:generate')\n         -&gt;daily()\n         -&gt;sendOutputTo($filePath);\n\n$schedule-&gt;command('report:generate')\n         -&gt;daily()\n         -&gt;emailOutputTo('[email&nbsp;protected]');\n<\/code><\/pre><h2>&#22788;&#29702;&#22833;&#36133;&#30340;&#39044;&#23450;&#20219;&#21153;<\/h2><p>&#20320;&#21487;&#20197;&#36890;&#36807;&#20351;&#29992;&#23450;&#26102;&#20219;&#21153;&#22833;&#36133;&#26102;&#30340;&#37038;&#20214;&#36890;&#30693;&#26469;&#35774;&#32622;&#30005;&#23376;&#37038;&#20214;&#36890;&#30693;&#12290;<code>pingOnFailure<\/code>&#26041;&#27861;&#65292;&#21487;&#20197;&#19982; Laravel &#33258;&#36523;&#30340; Envoyer &#26381;&#21153;&#38598;&#25104;&#12290;<\/p><pre><code>$schedule-&gt;command('report:generate')\n         -&gt;daily()\n         -&gt;pingOnFailure('https:\/\/envoyer.com\/heartbeat\/url');\n<\/code><\/pre><h2>&#27491;&#22312;&#27979;&#35797;&#23450;&#26102;&#21629;&#20196;&#12290;<\/h2><p>&#20026;&#20102;&#27979;&#35797;&#24744;&#30340;&#23450;&#26102;&#20219;&#21153;&#30340;&#25191;&#34892;&#65292;&#24744;&#21487;&#20197;&#25163;&#21160;&#20351;&#29992;Artisan&#25191;&#34892;&#23427;&#20204;&#65306;<\/p><pre><code>\nphp artisan schedule:run\n<\/code><\/pre><p>&#22312;&#23436;&#25104;&#26412;&#25351;&#21335;&#21518;&#65292;&#20320;&#24212;&#35813;&#23545;&#22914;&#20309;&#22312;Laravel&#20013;&#23433;&#25490;&#20219;&#21153;&#26377;&#22362;&#23454;&#30340;&#29702;&#35299;&#12290;Laravel&#30340;&#31616;&#21333;&#35843;&#24230;&#21151;&#33021;&#20801;&#35768;&#24744;&#23558;&#23450;&#26102;&#20219;&#21153;&#31649;&#29702;&#21644;&#23450;&#20041;&#20445;&#25345;&#22312;&#20195;&#30721;&#24211;&#20869;&#65292;&#20174;&#32780;&#23454;&#29616;&#26356;&#28165;&#26224;&#21644;&#21487;&#32500;&#25252;&#30340;&#20195;&#30721;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>Laravel&#30340;&#20219;&#21153;&#35843;&#24230;&#25552;&#20379;&#20102;&#19968;&#31181;&#24378;&#22823;&#30340;&#35299;&#20915;&#26041;&#26696;&#65292;&#29992;&#20110;&#33258;&#21160;&#21270;&#21518;&#21488;&#20219;&#21153;&#65292;&#22914;&#21457;&#36865;&#30005;&#23376;&#37038;&#20214;&#12289;&#25968;&#25454;&#24211;&#22791;&#20221;&#21644;&#29978;&#33267;ping&#22806;&#37096;&#26381;&#21153;&#12290;&#20973;&#20511;&#36825;&#31181;&#20248;&#38597;&#19988;&#26131;&#20110;&#20351;&#29992;&#30340;&#21151;&#33021;&#65292;Laravel&#32487;&#32493;&#25104;&#20026;&#23547;&#27714;&#20840;&#38754;&#21151;&#33021;&#20294;&#21448;&#20415;&#20110;&#35775;&#38382;&#30340;PHP&#26694;&#26550;&#30340;&#24320;&#21457;&#32773;&#30340;&#39318;&#36873;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#22312; Laravel &#20013;&#23433;&#25490;&#20219;&#21153;&#21487;&#20197;&#20351;&#29992; Cron Job&#12290;Cron Job &#26159;&#19968;&#31181;&#33258;&#21160;&#25191;&#34892;&#20219;&#21153;&#30340;&#26426;&#21046;&#65292;&#23427;&#21487;&#20197;&#22312;&#25351;&#23450;&#30340;&#26102;&#38388;&#21644;&#38388;&#38548;&#20869;&#36816;&#34892;&#12290;&#20197;&#19979;&#26159;&#22914;&#20309;&#35774;&#32622; cron job &#30340;&#27493;&#39588;&#65306;<\/p>\n<ol>\n<li>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#20102; Composer&#12290;&#22914;&#26524;&#27809;&#26377;&#65292;&#35831;&#36890;&#36807;&#21629;&#20196;&#34892;&#36816;&#34892; <code>composer global require composer\/installers<\/code> &#26469;&#23433;&#35013;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#25509;&#19979;&#26469;&#65292;&#25171;&#24320;&#32456;&#31471;&#24182;&#23548;&#33322;&#21040;&#39033;&#30446;&#30446;&#24405;&#12290;&#22914;&#26524;&#36824;&#27809;&#26377;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; Laravel &#39033;&#30446;&#65292;&#20320;&#21487;&#20197;&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#26469;&#21551;&#21160;&#19968;&#20010;&#26032;&#30340;&#39033;&#30446;&#65306;<\/p>\n<pre><code>php artisan new my-project<\/code><\/pre>\n<\/li>\n<li>\n<p>&#22312;&#26032;&#30340;&#39033;&#30446;&#25991;&#20214;&#22841;&#20013;&#65292;&#36827;&#20837; Laravel &#30446;&#24405;&#65288;&#36890;&#24120;&#26159; <code>vendor\/laravel\/framework\/<\/code>&#65289;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#28608;&#27963; Composer:<\/p>\n<pre><code>cd vendor\/laravel\/framework\/\ncomposer install<\/code><\/pre>\n<\/li>\n<li>\n<p>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; cron &#21629;&#20196;&#25991;&#20214;&#12290;&#22312; <code>bin\/cron.php<\/code> &#25991;&#20214;&#20013;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;:<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppCommands;\n\nuse IlluminateConsoleCommand;\nuse IlluminateSupportFacadesClock;\n\nclass MyCommand extends Command\n{\n    \/**\n     * The name and signature of the console command.\n     *\n     * @var string\n     *\/\n    protected $signature = 'mycommand';\n\n    \/**\n     * The console command description.\n     *\n     * @var string\n     *\/\n    protected $description = 'A brief description of your command';\n\n    \/**\n     * Create a new command instance.\n     *\n     * @return void\n     *\/\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    \/**\n     * Execute the console command.\n     *\n     * @return mixed\n     *\/\n    public function handle()\n    {\n        \/\/ &#28155;&#21152;&#20320;&#30340;cron task&#20195;&#30721;&#22312;&#36825;&#37324;\n        $now = Clock::now()-&gt;format('Y-m-d H:i:s');\n        echo \"Cron job executed at: $nown\";\n    }\n}<\/code><\/pre>\n<ol start=\"6\">\n<li>\n<p>&#20445;&#23384;&#25991;&#20214;&#24182;&#20851;&#38381;&#32534;&#36753;&#22120;&#12290;&#29616;&#22312;&#20320;&#24212;&#35813;&#26377;&#19968;&#20010;&#21517;&#20026; <code>bin\/cron.php<\/code> &#30340;&#25991;&#20214;&#65292;&#20854;&#20013;&#21253;&#21547;&#20102;&#19968;&#20010;&#31616;&#21333;&#30340; cron &#21629;&#20196;&#12290;<\/p>\n<\/li>\n<li>\n<p>&#30830;&#20445;&#20320;&#20855;&#26377;&#25191;&#34892; cron &#21629;&#20196;&#25152;&#38656;&#30340;&#26435;&#38480;&#12290;&#21487;&#20197;&#36890;&#36807;&#22312;&#32456;&#31471;&#36755;&#20837;&#20197;&#19979;&#21629;&#20196;&#26469;&#39564;&#35777;&#26435;&#38480;&#65306;<\/p>\n<pre><code>crontab -l<\/code><\/pre>\n<\/li>\n<li>\n<p>&#33509;&#35201;&#20026;cron job&#21551;&#29992;&#23450;&#26102;&#22120;&#65292;&#35831;&#25353;&#25552;&#31034;&#23436;&#25104;&#37197;&#32622;&#36807;&#31243;&#12290;&#23436;&#25104;&#21518;&#65292;&#36820;&#22238;&#32456;&#31471;&#24182;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;&#26469;&#37325;&#21551; cron:<\/p>\n<pre><code>sudo crontab -e<\/code><\/pre>\n<\/li>\n<li>\n<p>&#26368;&#21518;&#65292;&#27979;&#35797; cron job&#26159;&#21542;&#27491;&#24120;&#36816;&#34892;&#12290;&#22312;&#32456;&#31471;&#20013;&#36816;&#34892;&#20197;&#19979;&#21629;&#20196;:<\/p>\n<pre><code>php bin\/cron.php<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>&#20197;&#19978;&#23601;&#26159;&#22312; Laravel &#20013;&#23433;&#25490;&#20219;&#21153;&#30340;&#22522;&#26412;&#27493;&#39588;&#12290;&#35831;&#26681;&#25454;&#38656;&#35201;&#35843;&#25972;&#20195;&#30721;&#20197;&#28385;&#36275;&#24744;&#30340;&#38656;&#27714;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#22312;Laravel&#20013;&#23433;&#25490;&#20219;&#21153;&#26159;&#19968;&#20010;&#24120;&#35265;&#30340;&#38656;&#27714;&#65292;&#038;#214..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-865","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=865"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=865"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=865"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}