我遇到的问题很奇怪,日志文件说我的类中名为"Upload"的__construct方法是私有的,但实际上它是公共的!所以这个错误毫无意义。这是我的班级代码;
class Upload
{
public $Errors;
public $ImageTypes;
public $CDN_URL;
public $UploadPath;
private $MaxHeight;
private $MaxWidth;
private $MaxTokenLength;
private $ForceMaxDimensions;
private $MaxFileSize = 5;
public function __construct()
{
include_once 'config.php';
$this->ImageTypes = array('JPG', 'PNG');
$this->Errors = array();
# convert from megabytes to bytes
$this->MaxFileSize = $this->MaxFileSize * 1048576;
}
}
这就是我开始上课的方式;
include_once 'upload.php';
$Upload = new Upload;
这是我的日志文件中的错误;
PHP Fatal error: Call to private Upload::__construct() from invalid context
我在网上看了很多答案,但没有对我有帮助,所以我非常希望Stackoverflow能给我答案!谢谢你的帮助。
编辑:config.php文件的内容
$ImageTypes = array('JPG', 'PNG');
$CDN_URL = 'CDN.php';
$UploadPath = 'uploads/';
$MaxHeight = 1000;
$MaxWidth = 1000;
$ForceMaxDimensions = TRUE;
$MaxFileSize = 5;// Mb
根据发布的代码,上述错误不会发生。
我建议使用在我对这个问题的回答中找到的CStatementTracer
。
CStatementTracer
使用PHP的tick特性来跟踪每个执行的语句,并将其转储到日志文件中。也就是说,您需要在应用程序的早期在某个位置启用CStatementTracer
。