Невозможно выполнить ttf2afm из php - PullRequest
0 голосов
/ 27 июня 2011

Я работаю над проектом, который включает PDF API TCPDF.Поэтому мне нужна была область администратора, где администратор сайта может загружать и устанавливать новые шрифты для использования с TCPDF.Я работаю над сценарием, который делает следующее: 1) загрузить шрифт TTF в каталог TCPDF fonts / utils /.2) выполнить ttf2afm из сценария PHP и создать .AFM (метрики шрифта Adobe)

$command = escapeshellarg("/usr/bin/ttf2afm $fontPath$fontName -o $fontPath$afmName");
$result = passthru($command);

или

$command = escapeshellarg("ttf2afm $fontPath$fontName -o $fontPath$afmName");
$result = passthru($command);

3) выполнить php -f makefont.phpfont.ttf font.afm и создайте необходимые файлы font.php и font.z.

Теперь моя проблема в том, что указанные выше команды не выполняются с веб-страницы.Если я копирую и выполняю часть этого кода из интерактивной оболочки php, он работает хорошо.Но с веб-страницы это просто не работает ...

Есть ли какая-то проблема, связанная с разрешениями?или я не могу выполнить такие команды с веб-страницы?

Заранее спасибо

1 Ответ

0 голосов
/ 27 июня 2011

Во-первых, escapeshellarg используется неправильно. Лучше это:

$command = escapeshellcmd("/usr/bin/ttf2afm")." ".escapeshellarg($fontPath.$fontName)." -o ".escapeshellarg($fontPath.$afmName);

Также убедитесь, что ведение журнала ошибок включено, чтобы вы могли видеть, есть ли ошибка разрешения.

...