Php exec command not working on Windows, works on command line

后端 未结 3 1803
名媛妹妹
名媛妹妹 2021-01-16 13:12

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 -         


        
相关标签:
3条回答
  • 2021-01-16 13:14

    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");
    
    0 讨论(0)
  • 2021-01-16 13:14

    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.

    0 讨论(0)
  • 2021-01-16 13:16

    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

    0 讨论(0)
提交回复
热议问题