高人请进! PHP 如何测试服务器是否支持运行exe文件? shell_exec 不行

用户昵称不能为空 2009-10-20 09:38:10
我的服务器是WIN的,独立的服务器,登陆到远程独立主机上面,打开CMD,可以直接运行exe文件的,但是使用PHP运行exe文件却不行,我想知道下如何测试服务器是否支持运行exe文件。

----------------------------------
我上传的文件:
ffmpeg.exe
convert.php
0.3gp

---------------------------------
convert.php中的内容如下:
<?php
//程序目录
define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);


$exeFile = S_ROOT.'ffmpeg.exe';
$sourceFile = S_ROOT.'0.3gp';
$flvSrc = S_ROOT.'result\0_'.time().'.flv';


$time1 = microtime(true);
shell_exec($exeFile." -i ".$sourceFile." -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 ".$flvSrc);
$time2 = microtime(true);

?>

视频转换花费不到1秒钟,但是仍旧是转换不了。但是登陆到主机上面在运行CMD里面粘贴这些命令运行后却可以转换,这么来说服务器是支持运行exe文件的,但是为什么却无法运行了?如何知道服务器是否支持运行exe文件?



---------------------
服务器相关信息:
系统WIN
语言PHP
exec函数支持
system函数支持
shell_exec支持

...全文
1038 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我将\变成了\\之后,在本地测试变得无法转换了,程序一直都在不停的运行,等待,原先没有将\变成\\的时候本地还是可以转换的,就是远程无法转换(但是远程将这些CMD命令粘贴到CMD里面运行却可以转换的,本地也是),现在将\变成了\\之后,本地在CMD里面粘贴命令可以转换,但是网页里面打开网址转换不了了。

http://127.0.0.1/site/home/convert/convert.php
  • 打赏
  • 举报
回复
PHP safe安全模式指的是这些吗?

PHPINFO里面有一些,但是都是关闭的啊:

safe_mode	Off	Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
foolbirdflyfirst 2009-10-20
  • 打赏
  • 举报
回复
php.ini有设置了安全模式吗?
  • 打赏
  • 举报
回复
相关信息:


操作系统 WIN NT,
服务器 IIS 6.0,
PHP版本 PHP 5.2.10,
  • 打赏
  • 举报
回复
现在已经将文件夹result的权限设置为了777了。
文件ffmpeg.exe的权限也设置为777了。
转换后的视频文件存放地址是放在result文件夹里面。


当前文件目录:
D:\\wwwroot\\site\\web\\home\\convert
存放转换后的文件目录
D:\\wwwroot\\site\\web\\home\\convert\\result
转换视频的程序
D:\\wwwroot\\site\\web\\home\\convert\\ffmpeg.exe
转换程序
D:\\wwwroot\\site\\web\\home\\convert\\convert.php
被转换的视频文件
D:\\wwwroot\\site\\web\\home\\convert\\0.3gp
本地测试:
转换成功!
远程测试:(CMD测试,转换超过,使用PHP通过网页测试(就是打开网址),转换失败)



------------------------------------------------------------
打开网页convert.php

CMD: D:\\wwwroot\\site\\web\\home\\convert\\ffmpeg.exe -i D:\\wwwroot\\site\\web\\home\\convert\\0.3gp -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 D:\\wwwroot\\site\\web\\home\\convert\\result\\0_1256092439.flv

sourceFile: D:\\wwwroot\\site\\web\\home\\convert\\0.3gp size: 2655062

targetFile: D:\\wwwroot\\site\\web\\home\\convert\\result\\0_1256092439.flv size:

USE: 0.00901007652283 sec
程序猿之殇 2009-10-20
  • 打赏
  • 举报
回复
另外,查看ffmpeg.exe以及对应操作的文件的权限,操作系统文件的权限.
程序猿之殇 2009-10-20
  • 打赏
  • 举报
回复
注意目录,windows下要用\\而不是//

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧