我有一些由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"
成功了。
答案 0 :(得分:0)
这可能是您的包含电话的路径吗?
我曾经有过一个我从浏览器定期调用的脚本,它有相对的包含路径。但是,当通过Cron调用时,它无效。当我把它们变成物理时它做了:)