Не может использовать шрифты Ubuntu в Сценарии PHP с помощью должностного лица () функция из-за разрешения/владения

Я работаю над Сервером Ubuntu 14.04 64-разрядный VPS, и я хочу использовать XeLaTeX создать файлы PDF с желаемыми шрифтами. У меня есть установленные шрифты и XeLaTex хорошо работает, если я выполняю его от терминала:

xelatex sample.tex

И это производит sample.pdf без любой проблемы. Но если я выполняю ту же команду от PHP exec() функционируйте как следующая команда:

$cmd = "cd folder && xelatex sample.tex";

$excute  = shell_exec($cmd);

Я столкнусь 'со шрифтом, не найден' проблему. Поскольку все в порядке, я думаю, что проблема с полномочиями шрифтов или владением. Я пытался изменить разрешение определенной папки шрифта и файлов к 744 и даже попробованный для изменения владения на тот, кто владеет файлом PHP, но я не мог решить проблему. Я не хочу использовать sudo выполнить команду из-за проблем безопасности.

Как я должен сделать шрифты Ubuntu доступными для Сценария PHP?

Обновление 1:

Вот мой sample.tex файл, я использую settextfont для выбора шрифтов:

\documentclass[a4paper,12pt]{report}    
\usepackage{amsthm,amsmath}
\usepackage{amssymb}    
\usepackage{mathrsfs}    
\usepackage{graphicx}    
\usepackage[top=3cm,right=3cm,bottom=2.5cm,left=2.5cm]{geometry}    
\usepackage{xepersian}    
\settextfont[Scale=1.1]{XB Yas}    
\setdigitfont{XB Yas}

\begin{document}    
    Hello, This is a test file.
\end{document}

Обновление 2:

Я изменил код на следующий:

\documentclass[a4paper,12pt]{report}    
\usepackage{amsthm,amsmath}
\usepackage{amssymb}    
\usepackage{mathrsfs}    
\usepackage{graphicx}    
\usepackage[top=3cm,right=3cm,bottom=2.5cm,left=2.5cm]{geometry}   
\setmainfont{Yas}[Path = /var/www/html/fonts/,UprightFont = *-Rg,Extension = .ttf]

\begin{document}    
    Hello, This is a test file.
\end{document}

Но теперь я сталкиваюсь со следующей ошибкой:

fontspec error: "font-not-found"

The font "Yas-Rg" cannot be found.

Существует Yas-Rg.ttf, Yas-Bd.ttf и другие шрифты в/var/www/html/fonts, и владение было установлено на тот, кто владеет Сценарием PHP, и также полномочия были установлены на 774.

0
задан 11 October 2016 в 21:12

1 ответ

Принятие Вас использует fontspec пакет, и согласно fontspec документация пакета (страница 9), необходимо смочь поместить желаемые шрифты в папку, где апачи получают корректные права:

To load a font that is not in one of the default search paths, its 
location in the filesystem must be specified with the Path feature:

\setmainfont{texgyrepagella}[
    Path           = /var/www/myProject/Fonts/ ,
    UprightFont    = *-regular ,
    BoldFont       = *-bold ,
... ]
0
ответ дан 28 September 2019 в 10:29

Другие вопросы по тегам:

Похожие вопросы: