[求助]PHP执行系统命令失败
exec("c:/Program Files/IrfanView/i_view32.exe c:/Program Files/IrfanView/03280009.sff /convert=c:/Program Files/IrfanView/4.tif", $result, $status); echo $status;
exec("c://Program Files//IrfanView//i_view32.exe c://Program Files//IrfanView//03280009.sff /convert=c://Program Files//IrfanView//4.tif", $result, $status); echo $status;
exec("c:\Program Files\IrfanView\i_view32.exe c:\Program Files\IrfanView\03280009.sff /convert=c:\Program Files\IrfanView\4.tif", $result, $status); echo $status;
exec("c:\\Program Files\\IrfanView\\i_view32.exe c:\\Program Files\\IrfanView\\03280009.sff /convert=c:\\Program Files\\IrfanView\\4.tif", $result, $status); echo $status;
PS:未开启安全模式
回复讨论(解决方案)
你这个 i_view32.exe 在系统中运行时又界面吗?
你这个 i_view32.exe 在系统中运行时又界面吗?
直接运行有界面,转格式的话只是命令调用应该不会出现界面。
PS:IrfanView是个功能比较强大的免费的看图软件,之前JAVA版本的程序已经可以执行,换到PHP了就不行了。
只是命令调用应该不会出现界面 ???
不能是应该!
你在命令窗口中执行一下,如果没问题就贴出命令来
表达错误,呵呵,确定没界面、没弹窗:
C:\Program Files\IrfanView>i_view32.exe c:\Program Files\IrfanView\03280009.sff /convert=c:\Program Files\IrfanView\4.tif
给 C:\Program Files\IrfanView>i_view32.exe 赋予一般用户执行权
"c:/Program Files/IrfanView/i_view32.exe
你这样写会把红色部分当成参数的(相当于一个错误的DOS命令),路径有空格要用引号
给 C:\Program Files\IrfanView>i_view32.exe 赋予一般用户执行权
之前有看到过这个建议,但右键属性没看到这个授权,请问如何操作呢?
"c:/Program Files/IrfanView/i_view32.exe
你这样写会把红色部分当成参数的(相当于一个错误的DOS命令),路径有空格要用引号
确实有空格的问题,不过我把路径调整了之后执行的时候就一直等待,貌似卡死了,是不是还是要授权啊。
成功了:
1、路径不能带空格,如带空格需特殊处理;
2、正确写法:exec("c:\\IrfanView\\i_view32.exe c:\\IrfanView\\03280009.sff /convert=c:\\IrfanView\\4.tif", $result, $status);