1

サーバーで Cron ジョブをほぼ正常にセットアップしましたが、正しいコントローラーを呼び出すことができません。

仕事:

  */15 * * * * php fullpath/index.php cron  

結果: Cron コントローラーではなく、デフォルトのコントローラーの HTML 出力を取得します。

仕事:

  */15 * * * * php fullpath/index.php cron index  

結果: Cron コントローラーではなく、デフォルトのコントローラーの HTML 出力を取得します。

誰かが私が何をしているのかアドバイスしてもらえますか?

注: 使用したくないwgetまたはcurl

4

1 に答える 1

0

index.php のコピーを作成し、cli.php という名前を付けます。

cli.php の先頭に追加

#!/usr/local/bin/php
<?php

/* we don't need to be limited by...normal limitations */
set_time_limit(0);
ini_set('memory_limit', '256M');

/* make sure this isn't being called by a web browser */
if (isset($_SERVER['REMOTE_ADDR'])) die('Permission denied.');

/* set some constants */
define('CMD', 1);

/* manually set the URI path based on command line arguments... */
unset($argv[0]); /* ...but not the first one */
$_SERVER['QUERY_STRING'] =  $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'] = '/' . implode('/', $argv) . '/';

次に、index.php の代わりに cli.php を呼び出すように cron を変更します。

于 2013-04-10T08:06:58.437 に答える