【发布时间】:2017-03-22 08:04:53
【问题描述】:
我收到此错误:
致命错误:在 /public_html/vendor/dompdf/dompdf/src/FrameDecorator/ 中找不到类“Dompdf\FrameDecorator\AbstractFrameDecorator”第 23 行的 Page.php
本地运行正常,但在实时服务器上出现该错误
$dompdf = new Dompdf();
$dd = (OBJECT)array(
'ss'=>$data->ss,
'cr'=>date('Y-m-d'),
'c_n'=>$data->c_n
);
$path = PHCERT .'/';
$dompdf->set_option('defaultFont', 'Courier');
$view = $this->view()->make('pdf.cert', compact('dd'))->render();
$dompdf->loadHtml($view);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$oupdf = $dompdf->output();
$f_name = $data->names.'_'.time().'_'.$data->radn.'.pdf';
if(!file_put_contents($path . $f_name, $oupdf)) {
$res['file_path'] = 'fail';
}
我的 php 错误日志并没有说太多,但是同样的错误,apache 错误日志没有说任何关于它的内容......所以,我不知道那个错误只发生在实时服务器上......
实时服务器上的 php 版本是 5.6.30
本地服务器上的 php 版本是 5.6.25
我正在使用最新版本的 dompdf 以及我的其他库。我正在使用作曲家来更新我的库...
我不知道是什么问题...
【问题讨论】:
-
如果你包含了 DOMPDF,你检查你的 composer.json 和 app.php 了吗?
-
是的,composer.json 是正确的,app.php(名称不同,但我知道你的意思)加载正常(我正在使用 PSR-4 btw),本地所有工作正常,实时服务器只是那部分......所有文件都已部署到服务器......
-
idk 如果这可行,但将其从 app.php(或您所指的任何文件)中删除,尝试 composer update,然后再次粘贴并查看它是否有效
-
你在正确的轨道上,我所做的是,
composer dump-autoload -o然后一切正常...我不知道是什么问题也许ClassLoader.php文件不是正确更新,我所做的,实际上更新了......不知道...... -
很高兴它成功了。干杯!