PHP-FPM에서 HHVM으로 잘 작동하는 응용 프로그램을 배포하려고합니다. 거의 모든 것이 하나의 것 : GD 라이브러리를 제외하고 작동합니다. GD는 일반적으로 작동하지만 imagettftext()
및 imagefttext()
은 작동하지 않는 것 같습니다. 그들은이 혼란 오류를 반환 :HHVM - imagettftext() : "해당 파일이나 디렉토리가 없습니다."
[ErrorException]
No such file or directory
에서, 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);
미리 감사드립니다.
이 중 하나가 작동하지 않았다. 나는 이미지를 생성하기 위해 php-cgi를 사용하여이 문제를 해결했다. (이미지는 cronjob에서 주기적으로 생성된다.) – Moeflon