CentOSで、WebアクセスしたPHPの外部実行と
ターミナルでコマンドを実行したときの挙動が違い困っております。
コマンドはターミナルで正しく動作することを確認しているものです。
【内容】
LibreOfficeでExcelからPDF変換をコマンドで行っていますが
表題の通り、生成したPDFのフォントに差分があり調査しています。
straceで出力させたところ、PHP外部実行時だけ
open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address)
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7ffe8ae6e8a0) = -1 ENOTTY (Inappropriate ioctl for device)
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
といったエラーが発生しています。
PHPの実行記述は下記になります。
PHP
1$outdir = __DIR__ . '/output'; 2 3$command = "libreoffice --headless --convert-to pdf:calc_pdf_Export --outdir $outdir $outdir/test.xlsx"; 4 5echo shell_exec('export HOME=/tmp &&' . $command);
どこかに差分があるのだと思いますが
PHP実行時に、どのような対処を行えば上記のエラーが出ないのか
分からずにおります。
ご存知の方いらっしゃいましたら教えて頂けると幸いです。
<実行環境>
・Cent OS 7.2
・PHP 5.6.30
・Apache 2.4.6
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/17 13:38
2017/02/19 11:14