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

WBOY
풀어 주다: 2016-06-23 14:05:07
원래의
941명이 탐색했습니다.

功能:通过外部程序转换图片格式(几种写法都不行,通过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);

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿