I am trying to execute the following command via PHP's exec
function:
D:\\pstill -F a4 -2 -c -c -c -c -g -i -t -K -d 700 -a 4 -m XimgAsCMYK -m Xspot -m Xoverprint -o D:\\outputfile.pdf D:\\new.jpg
It doesn't generate any output. But if I directly paste the command on the command line then it works...
Note: it takes a bit of time to complete when run directly on command line.
I would suggest using shell_exec instead of exec function here. shell_exec executes command via appropriate shell (WIndows / Unix etc) and returns the complete output as a string to you.
If your command is this:
exec("pstill -F a4 -2 -c -c -c -c -g -i -t -K -d 700 -a 4 -m XimgAsCMYK -m Xspot -m Xoverprint -o D:\\outputfile.pdf D:\\input.jpg");
PHP escapes the backslashes, so the command that reaches the shell is ... D:\\outputfile.pdf D:\\input.jpg
. You have to double-escape the backslashes: once for PHP and once for the shell.
exec("pstill -F a4 -2 -c -c -c -c -g -i -t -K -d 700 -a 4 -m XimgAsCMYK -m Xspot -m Xoverprint -o D:\\\\outputfile.pdf D:\\\\input.jpg");
for me the solution was to
run apache in a terminal window instead of a service.
see this thread: apache service php exec not working
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.