我有一個 Cron 控制器,我想從 CPanel 的 cron 作業功能運行,但是我的安裝沒有 index.php 檔案,因為我在 .htaccess 檔案上使用了 mod_rewrite,所以它沒有顯示在我的 url 中。
我已經閱讀了有關通過 cli 運行它的檔案,并且只能在 error_log 中使用
/usr/local/bin/php /home/user/subdomain.domain.com/app/Controllers/Cron.php
我收到以下錯誤:
[2022 年 10 月 5 日 21:36:01 UTC] PHP 致命錯誤:未捕獲的錯誤:在 /home/user/subdomain.domain.com/app/Controllers/Cron.php:7 中找不到類“CodeIgniter\Controller”
堆疊跟蹤:#0 {main} 在第 7 行的 /home/user/subdomain.domain.com/app/Controllers/Cron.php 中拋出
這就是我的控制器的設定方式
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\CronModel;
class Cron extends Controller
{
public function __construct(){
$db = db_connect();
$this->cronModel = new CronModel($db);
}
/*
* Function to start cronjob if it's time
*/
public function index(){
$this->cronModel->run();
}
}
沒有其他 cli 到達控制器,我不斷收到此錯誤。
編輯:我的路線檔案中有這個:
$routes->cli('cron/index/(:segment)', 'Cron::index/$1');
uj5u.com熱心網友回復:
我已經設法讓它作業了。Codeigniter 根目錄上的 .htaccess 檔案被重寫。所以基本上我將重寫規則添加到 cli 路徑并且它起作用了,如下所示:
/usr/local/bin/php /home/user/subdomain.domain.com/rewrite_rule_path cron run
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/514623.html
標籤:php代码点火器cron命令行界面codeigniter-4
