У меня есть PHP-скрипт:
echo '--- getenv: ' . getenv('PATH') . "\n";
echo '--- echo PATH: ' . shell_exec('echo $PATH') . "\n";
echo '--- xelatex: ' . shell_exec('xelatex 2>&1') . "\n";
putenv('PATH='.trim(shell_exec('echo $PATH')));
echo '--- getenv: ' . getenv('PATH') . "\n";
echo '--- echo PATH: ' . shell_exec('echo $PATH') . "\n";
echo '--- xelatex: ' . shell_exec('xelatex 2>&1') . "\n";
Запускается из процесса php-fpm (с clear_env = yes), он выдает следующий вывод:
--- getenv:
--- echo PATH: /sbin:/usr/sbin:/bin:/usr/bin
--- xelatex: lstat(./xelatex) failed ...
./xelatex: No such file or directory
Assertion failed: ret (../../../texk/kpathsea/progname.c: remove_dots: 316)
--- getenv: /sbin:/usr/sbin:/bin:/usr/bin
--- echo PATH: /sbin:/usr/sbin:/bin:/usr/bin
--- xelatex: This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017/Alpine Linux) (preloaded format=xelatex)
restricted \write18 enabled.
**
! End of file on the terminal... why?
Что происходит?