Я пытаюсь развернуть приложение, которое отлично работает на PHP-FPM, на HHVM. Почти все работает, кроме одного: библиотеки GD. GD в целом работает, но imagettftext()
и imagefttext()
похоже не работают. Они возвращают эту запутанную ошибку:
[ErrorException]
No such file or directory
Я уже перекомпилировал HHVM, чтобы включить путь FreeType и gd_info()
{"GD Version":"bundled (2.0.34 compatible)","FreeType Support":true,"FreeType Linkage":"with freetype","T1Lib_Support":false,"GIF Read Support":true,"GIF Create Support":true,"JPEG Support":true,"PNG Support":true,"WBMP Support":true,"XPM Support":false,"XBM Support":true,"JIS-mapped Japanese Font Support":false}
Я пробовал это (https://stackoverflow.com/a/15001557/1792799) решение, но безрезультатно.
Я почти уверен, что эта ошибка не имеет ничего общего с кодом, так как он отлично работает на «нормальном» PHP. Но вот часть, где это все равно идет не так. Путь к шрифту существует и доступен для чтения сервером, файл шрифта существует, и снова тот же код на том же сервере отлично работает с PHP-FPM.
// Font path
putenv('GDFONTPATH=' . $basepath . '/' . 'font');
// Choose font
$mc = "mc";
// Set font-sizes
$fonts = 12;
$mfont = 12 - 2.2;
$snx = 15;
$sny = 21;
$mx = $snx;
$my = $sny + 16;
$sipx = $snx;
$sipy = $my + 15;
$motd = $server->getCache('motd');
$motd = (strlen($motd) > 43) ? substr($motd, 0, 40).'...' : $motd;
// Server name
imagettftext($image, $fonts, 0, $snx + 1, $sny + 1, $white_shadow, $mc, $server->name);
imagettftext($image, $fonts, 0, $snx, $sny, $white, $mc, $server->name);
Заранее спасибо!