Если вы хотите попробовать mPDF еще раз:
кажется, что вы не предоставляете правильную конфигурацию для mPDF, но мы не можем точно сказать, что это часть вашего кода (строка 88 вашего print-form.php
) отсутствует.Взято из моего последнего кода с использованием mPDF:
try {
$mpdf = new \Mpdf\Mpdf([
'tempDir' => __DIR__ . '/../tmp', // uses the current directory's parent "tmp" subfolder
'setAutoTopMargin' => 'stretch',
'setAutoBottomMargin' => 'stretch'
]);
} catch (\Mpdf\MpdfException $e) {
print "Creating an mPDF object failed with" . $e->getMessage();
}
Строка 17 в Cache.php
является частью конструктора Cache и выдает ошибку в случае, если временный каталог не доступен для записи или не является каталогом:
// taken from method "createBasePath($basePath)"
if (!is_writable($basePath) || !is_dir($basePath)) {
return false;
}
Чтобы проверить, видите ли вы ошибку из-за недостаточных прав доступа к файлу или несуществующего каталога, загрузите файл с этим содержимым на свой сервер и перейдите к нему с помощью предпочитаемого браузера:
<?php
$pathToCheck= "E:\\Inetpub\\vhosts\\gsm.org.my\\httpdocs\\print//custom//temp//dir//path";
print 'Folder exists: '.(is_dir($pathToCheck) ? 'yes' : 'no').'<br />';
print 'Folder is writable: '.(is_writable($pathToCheck) ? 'yes' : 'no').'<br />';
Вы находитесь на сервере Windows, поэтому вам нужно будет добавить нужного пользователя в папку «tmp» в «Свойства» -> «Безопасность», дополнительно проверьте, не помечен ли для атрибута «Только для чтения» атрибут.
Дополнительные советы:
Пожалуйста, опубликуйте соответствующий код в своем будущем вопросе (например, соответствующие части вашего print-form.php
), так как это снижает риск угадывать, чтоможет быть причиной.