首頁  >  文章  >  後端開發  >  [求助]PHP执行系统命令失败

[求助]PHP执行系统命令失败

WBOY
WBOY原創
2016-06-23 14:05:07943瀏覽

功能:通过外部程序转换图片格式(几种写法都不行,通过shell可以成功,但通过PHP返回1,说明写法有误)

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);

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn