Я не могу заставить imagettfbbox работать в Windows (в Linux все в порядке).Мой сервер Windows использует PHP 7.2.9 x64 поверх Windows 10 x64.Версия GD «в комплекте (совместима с 2.1.0)», а версия FreeType - «2.9.1».Я пробовал ВСЕ, что вы могли найти на этом сайте (я прочитал много вопросов и ответов) и на других сайтах.Ничто не заставляло это работать.В linux этот скрипт работает нормально (с расширением шрифта и без него):
$ruta = realpath("./fonts");
$fuente = "tahoma.ttf";
putenv('GDFONTPATH='.$ruta);
$res = imagettfbbox(25,0, $fuente, "hola");
if($res === false){
echo "Fail";
}else{
echo "Ok";
}
Но в Windows он вообще не работает, я понимаюсообщение:
Warning: imagettfbbox(): Invalid font filename in D:\Apache64\htdocs\prueba.php
Файл шрифта находится в каталоге «шрифты», но я уже пробовал использовать файл шрифта в том же каталоге, что и файл PHP.Я пробовал:
$fuente = "D:\\Apache64\\htdocs\\fonts\\tahoma.ttf"
$res = imagettfbbox(25,0, $fuente, "hola");
if($res === false){
echo "Fail";
}else{
echo "Ok";
}
$fuente = "D:/Apache64/htdocs/fonts/tahoma.ttf"
$res = imagettfbbox(25,0, $fuente, "hola");
if($res === false){
echo "Fail";
}else{
echo "Ok";
}
с двумя последними сценариями, которые я получаю:
Warning: imagettfbbox(): Could not read font in D:\Apache64\htdocs\prueba.php
$fuente = ".\\fonts\\tahoma.ttf"
$res = imagettfbbox(25,0, $fuente, "hola");
if($res === false){
echo "Fail";
}else{
echo "Ok";
}
$fuente = "fonts\\tahoma.ttf"
$res = imagettfbbox(25,0, $fuente, "hola");
if($res === false){
echo "Fail";
}else{
echo "Ok";
}
И с последним2 скрипта, которые я получаю:
Warning: imagettfbbox(): Could not find/open font in D:\Apache64\htdocs\prueba.php
Конечно, я уже пробовал с другими файлами шрифтов ... Я не знаю, что еще я мог бы попробовать, я не уверен, является ли это моей ошибкой илинет ...