gpt4 book ai didi

php - 内部 gd 字体 () 不可用仅使用 1-5

转载 作者:行者123 更新时间:2023-12-03 21:01:30 25 4
gpt4 key购买 nike

我正在使用 Laravel 框架和图像/干预库来生成具有动态数据的图像。该代码在我的本地机器上运行得非常好,但是一旦我将它上传到 aws ubuntu 实例上,它就会显示错误,例如 Internal gd font() not available。我尝试切换到 imagick 和 public_path() 但它仍然显示相同的错误。我的代码如下:

我尝试切换到 imagick 和 public_path() 但它仍然显示相同的错误。我的代码如下:

公共(public)函数 generateIdCard(请求 $request){

    $user = app('App\Http\Controllers\ApiTokenController')->authenticate($request);
if($user == null)
return response()->json(['message' => 'Token Invalid','status'=>0], 200);

$user = MatchmakerUser::where('id', $user->id)->first();
if($user){
$img=Image::make($this->url2.'2.png');
$filename = 'mmProfilePic_'.$user->id.'.jpg';
$profilepicurl=$this->url.$filename;
$img2=Image::make($profilepicurl)->resize(82,82);
$img->insert($img2,'top-left',22,24);
$name=$user->first_name.$user->last_name;
$img->text($name,115, 50, function($font) {
$font->file('../../../fonts/Poppins-Bold.ttf');
$font->size(18);
$font->color('#fff');
$font->valign('top');
});
$designation=$user->matchmaker_type;
$img->text($designation,115, 73, function($font) {
$font->file('../../../fonts/Poppins-Medium.ttf');
$font->size(10);
$font->color('#fff');
$font->valign('top');
});
$phone=$user->phone_number;
$img->text($phone,31, 129, function($font) {
$font->file('../../../fonts/Poppins-Medium.ttf');
$font->size(10);
$font->color('#4e4e4e');
$font->valign('top');
});
$location=$user->location;
$img->text($location,33, 148, function($font) {
$font->file('../../../fonts/Poppins-Medium.ttf');
$font->size(10);
$font->color('#4e4e4e');
$font->valign('top');
});
$website="www.hansmatrimony.com/matchmaker";
$img->text($website,33, 167, function($font) {
$font->file('../../../fonts/Poppins-Medium.ttf');
$font->size(9);
$font->color('#4e4e4e');
$font->valign('top');
});
Storage::disk('s3')->put('static/matchmakerz/id_card/'.'Id_card'.$user->id, file_get_contents($img), 'public');
IdCard::create([
'id_card'=>'static/matchmakerz/id_card/'.'Id_card'.$user->id,
'matchmaker_id'=>$user->id
]);
return response(['matchmaker_id_card'=>$this->url2.'id_card'.$user->id,'name'=>$name,'status'=>1,'message'=>'success'], 200);
}

elseif($user == null)
return response()->json(['status' => 0, 'message' => 'No User details found'], 200);
else
return response()->json(['status' => 0, 'message' => 'Some Error Occurred'], 200);
}

最佳答案

晚了一年,但这是给像我这样在 2020 年及以后寻找答案的人。
我发现你必须使用 public_path()获取文件的正确路径。所以改变这个:

    $font->file('../../../fonts/Poppins-Medium.ttf');
对此:
    $font->file(public_path('../../../fonts/Poppins-Medium.ttf'));
您可能需要仔细检查您提供的相对路径是否正确。 (因此,通过调用 public_path() 检查输出内容并确保文件存在。)

关于php - 内部 gd 字体 () 不可用仅使用 1-5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57221655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com