2014-12-17 4 views
0

Я установил mpdf/mpdf через композитор.mpdf изменение темпа пути (комплект композитора)

Все работает отлично в среде разработки, однако в производстве/постановке я получаю ошибку разрешений.

file_put_contents(\/.../ttfontdata\/dejavusanscondensed.GSUBGPOStables.dat): failed to open stream: Permission denied' in .../shared\/vendor\/mpdf\/mpdf\/classes\/ttfontsuni.php:999\nStack trace:\n#0 [internal function]: Illuminate\\Exception\\Handler->handleError(2, 'file_put_conten...', '...', 999, Array)\n#1 

Согласно MPDF документации, мне нужно определить путь для моей папки для хранения:

// Tried this at top of index.php before require bootstrap/autoload.php 
define("_MPDF_TEMP_PATH", dirname(__FILE__) . '/../app/storage/mpdf/'); 

// Tried this just before creating a new mpdf 
define("_MPDF_TEMP_PATH", storage_path() . '/mpdf/'); 

Я использую Laravel в качестве основы - и MPDF просто не будет использовать мою указанную временную папку

ответ

0

Установили ли вы разрешения для следующих папок?

  • /ttfontdata/
  • /TMP/
  • /graph_cache/

Вот руководство о том, как установить: http://mpdf1.com/manual/index.php?tid=509

+0

ttfontdata находится в продавце, все нормально пишите поставщику? – Hayate

4

Я знаю, что это старый вопрос, но я была та же проблема. Так же, как вы изначально предложили, вы можете определить путь temp до загрузки библиотеки mPDF, но также необходимо определить путь данных шрифта.

Я добавил это в верхней части моего /bootstrap/autoload.php файла:

define("_MPDF_TEMP_PATH", __DIR__.'/../storage/framework/pdf/'); 
define("_MPDF_TTFONTDATAPATH", __DIR__.'/../storage/framework/pdf/fonts/'); 

Кроме того, я должен был создать /pdf и /pdf/fonts каталоги вручную.

Возможно, существует более чистый способ сделать это, но это быстрое решение.

+0

Хорошо работает при развертывании производства. Спасибо @jon__o –

Смежные вопросы