无法在cron作业调用的文件中使用类

时间:2014-10-27 10:04:58

标签: php ajax cron

我有一些由cron作业或ajax调用调用的文件。 在所有这些文件中,我无法使用类。

示例:

    <?php
include(dirname(__FILE__)."/includes.php");

$result = "query result"
foreach ($result as $row) {
    //Send Invoice
            $invoice= new Invoice;
            $rand = substr(md5(microtime()),rand(0,26),4);
            $rand .= '-'.substr(md5(microtime()),rand(0,26),4);
            $rand .= '-'.substr(md5(microtime()),rand(0,26),4);
            $invoiceName = strtoupper($rand);
}

Includes.php包括我的所有课程。

Includes.php

<?php
include_once 'functions/connection.php'; 
include_once 'functions/functions.php';
require_once 'functions/MPDF/mpdf.php';

$classes = scandir('classes');
$length = count($classes);

for($i = 2; $i < $length; $i++) {
    include_once 'classes/'.$classes[$i];
}

通常情况下会给我一个发票实例。但是当使用cronjobs或ajax调用php文件时,它不会创建Invoice的实例。 我试图包含类文件,但这也没有用。

这是一个众所周知的事情吗?

************* UPDATE *************** 犯了菜鸟的错误。当我使用dirname(__FILE__)时,它工作正常,但在我的代码中,我忘记了我需要进入1个目录。 dirname(__FILE__)."../includes.php"成功了。

1 个答案:

答案 0 :(得分:0)

这可能是您的包含电话的路径吗?

我曾经有过一个我从浏览器定期调用的脚本,它有相对的包含路径。但是,当通过Cron调用时,它无效。当我把它们变成物理时它做了:)