PHP - imagettfbbox не работает в Windows (только Windows) - PullRequest
0 голосов
/ 01 октября 2018

Я не могу заставить 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

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

...