无法从php执行ttf2afm

无法从php执行ttf2afm,php,linux,passthru,Php,Linux,Passthru,我正在从事一个涉及PDF API TCPDF的项目。所以我需要一个在管理员网站管理员可以上传和安装新的字体使用TCPDF的领域。 我正在编写一个脚本,该脚本包含以下内容: 1) 将TTF字体上载到TCPDF fonts/utils/目录。 2) 从PHP脚本执行ttf2afm并创建.AFM(adobe字体度量) 或 3) 执行php-f makefont.php font.ttf font.afm并生成所需的font.php和font.z文件 现在我的问题是,上面的命令不是从web页面执行的。如

我正在从事一个涉及PDF API TCPDF的项目。所以我需要一个在管理员网站管理员可以上传和安装新的字体使用TCPDF的领域。 我正在编写一个脚本,该脚本包含以下内容: 1) 将TTF字体上载到TCPDF fonts/utils/目录。 2) 从PHP脚本执行ttf2afm并创建.AFM(adobe字体度量)

3) 执行php-f makefont.php font.ttf font.afm并生成所需的font.php和font.z文件

现在我的问题是,上面的命令不是从web页面执行的。如果我从php interactive shell中复制并执行这段代码的一部分,它会工作得很好。但是,从网页上看,它根本不起作用

是否存在与权限相关的问题?或者我不能在网页上执行这样的命令


提前感谢

首先,escapeshellarg用错了。更好的是:

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

另外,请确保启用了错误日志记录,以便查看是否存在权限错误。

非常感谢您的帮助,这是我试图从脚本执行的大多数命令的问题。。。
$command = escapeshellarg("ttf2afm $fontPath$fontName -o $fontPath$afmName");
$result = passthru($command);
$command = escapeshellcmd("/usr/bin/ttf2afm")." ".escapeshellarg($fontPath.$fontName)." -o ".escapeshellarg($fontPath.$afmName);