Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Права доступа скриптов из-под PHP+Apache


Автор: math 16.4.2015, 05:14
Из консоли по ssh захожу из-под myusername и выполняю:

Код
#cd /var/www/myusername/data/www/mysitename/tmp
/var/www/myusername/data/www/mysitename/tmp# /usr/bin/pdflatex myfile.tex

И все отлично работает, в папке tmp образуется pdf файл.

Но когда вызываю эту же команду из PHP скрипта, который расположен по адресу /var/www/myusername/data/www/mysitename/myscript.php

Вызываю так
Код
$pipes = array();
$options = array();
$cmd = '/usr/bin/pdflatex myfile.tex';
$cwd = /var/www/myusername/data/www/mysitename/tmp;
proc_open( $cmd, $options, $pipes, $cwd )


То в папке tmp программа latex создет лог-файл с описанием ошибок. Ошибки связаны с недоступностью файлов шрифтов. Причем создаваемые файлы имеют в атрибутах владельца myusername. Значит PHP и вызываемая им pdflatex выполняется из-под myusername.

Из-за чего может быть разница? Почему из консоли нет ошибки, а из php, который работает как модуль Apache, получаются ошибки. Какие ограничения в правах дает выполнение через Apache+PHP?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)