当我使用cronjob调用控制器动作时。它会给出致命的错误,例如"调用未定义的函数mysqli_init()"

时间:2017-07-18 07:50:46

标签: php mysqli cron

当我使用cronjob调用控制器操作时。它给我一个像

这样的错误

enter image description here

在这里,是我的控制器:

class CronCount extends CI_Controller {

public function index() {
    $this->load->model('LogFunctionModel');
    $todayActive = $this->LogFunctionModel->activeCompany(date('Y-m-d'));
    $company_count = $this->LogFunctionModel->otherCount('company');
    $employee_count = $this->LogFunctionModel->otherCount('employee');
    $user_count = $this->LogFunctionModel->otherCount('user_logins');
    $dollars_on_account = $this->LogFunctionModel->userDollar();          
    //log entry         
    $this->load->library('logfunction');
    $this->logfunction->logCountRecord("Companies Active", $todayActive->active);
    $this->logfunction->logCountRecord("Company Count", $company_count->total);
    $this->logfunction->logCountRecord("Employee Count", $employee_count->total);
    $this->logfunction->logCountRecord("User Count", $user_count->total);
    $this->logfunction->logCountRecord("Dollars on Account", $dollars_on_account->balance);
 }

}

系统配置

操作系统:Linux薄荷

数据库:Mysqli

PHP版:7.1.1

项目目录:/ opt / lampp / htdocs /

当我直接从浏览器运行控制器时工作正常。但是当我使用终端运行时,它会给我上面的错误,你可以在上面的图像中显示。我该如何解决?

1 个答案:

答案 0 :(得分:2)

PHP CLI和PHP FPM / php_mod具有不同的配置(php.ini文件)。您必须检查是否在PHP CLI中启用了mysqli扩展。 只需运行php -i | grep mysqli并检查输出中是否有mysqli

在使用XAMPP时,始终使用PHP的完整路径(/opt/lampp/bin/php),因为在其他方面,您将使用直接安装在操作系统中的PHP(而不是来自XAMPP包)。尝试运行/opt/lampp/bin/php /opt/lampp/htdocs/PayrollCommand/index.php croncount