[英]Laravel - Using image intervention in Jobs. imagettfbbox error
我正在嘗試在我的 Jobs Controller 中使用圖像干預。 首先,“圖像源不可讀錯誤”出來了。 但是后來我通過添加 storage_path 進行了修復。 現在它顯示此錯誤:
Call to undefined function Intervention\Image\Gd\imagettfbbox()
當我想在圖像上寫字體時會發生這種情況。 這些是我的代碼:
$img->text($line, $x_subject, $y, function($font) use ($font_size_subject, $font_path){
$font->file(storage_path($font_path));
$font->size($font_size_subject);
$font->color('#000000');
$font->align('center');
$font->valign('middle');
});
當我嘗試在普通控制器中使用它時沒有錯誤。 當我在 Jobs 控制器中使用圖像干預時,就會出現這個錯誤。
有什么辦法可以解決這個問題嗎? 謝謝
當你說它在普通控制器中工作時,你的意思是當你從 http 協議(瀏覽器/郵遞員/等)調用它時
您很可能有兩個 PHP 配置(標准配置); 一種用於 Web (FPM),一種用於控制台 (CLI)。
只有在使用作業控制器時才會出現錯誤的原因是 PHP CLI 配置中缺少 GD 擴展。
您可以在控制台中檢查是否使用php -m |grep gd
啟用了 GD 擴展。 如果啟用,你應該有這樣的東西
$ php -m |grep gd
12:gd
如果您沒有得到第二行,則需要在正確的 ini 文件(用於 CLI 的文件)中啟用擴展名。
如果您不知道它在哪里,請嘗試運行php -i | grep 'Configuration File'
php -i | grep 'Configuration File'
,你應該得到這樣的東西:
Configuration File (php.ini) Path => /etc/php/7.x/cli
Loaded Configuration File => /etc/php/7.x/cli/php.ini
希望這可以幫助
- - - - - - 編輯 - - - - - - - -
此函數需要 GD 庫和 » FreeType 庫。
您必須在 CLI 配置中缺少 FreeType 庫。
由於它是共享主機,因此提供商有責任幫助解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.