Wpis z mikrobloga

#php #programowanie #linux

Zrobiłem prostą aplikację w PHP która konwertuje strony z PDF na JPGi.
Fajnie i przyjemnie działało aż do czasu przeniesienia na nowy serwer.
No nie działa i tyle.
PDF się na serwer wrzuca ale polecenie:

gs -dNOPAUSE -sDEVICE=jpeg -dFirstPage=1 -dLastPage=2 -sOutputFile=/var/www/html/konwertuj_pdf/f/output%d.jpg -dJPEGQ=90 -r500 -q '/var/www/html/konwertuj_pdf/f/lista_rozkazow.pdf' -c quit
już chyba nie działa, bo JPGów nie robi. Co ciekawe z konsoli wydanie tego polecenia działa pięknie.
WTF?

Kod (kilka linijek) do zerknięcia na: http://pastebin.com/pyb9Uf66
Weźcie mnie oświećcie, bo nie ogarniam o co chodzi. Coś z uprawnieniami nie tak?
  • 32
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KacperOo: Przerobiłem "jeszcze raz" temat praw.
Imagick zaczął działać, przepisałem więc wszystko tak jak powinno być,
tak by nie było, że

jak php uzywa shellexec gdzies na swiecie
  • Odpowiedz
@defoxe: a czemu spodziewałeś się komunikatów błędów? shell_exec() nie zwraca błędów:

This function can return NULL both when an error occurs or the program produces no output.
  • Odpowiedz
@defoxe na tel nie dam rady odp ale na 99% wiem co jest. Taki tl;dr - po prostu program ktory odpalasz exec nie ma dostepu do bibliotek xowych. Mozna go odpalic w srodowisku w ktorym symuluje sie x - run-xvfs czy cos takiego :P jakbys odpalil exec z przekierowaniem bledow na stdout i jako drugi argument dal zmienna output to zobaczysz co sie dzieje :P
  • Odpowiedz
@defoxe: a dwa też tak miałem, że wkhtmltopdf działał bez X a później przestał xD Coś takiego zrobiłem i działa teraz:

/usr/bin/xvfb-run -a -s "-screen 0 1280x1024x16" /usr/bin/wkhtmltopdf
  • Odpowiedz