用exec执行cmd命令返回为空 先看手册exec() 第二个参数是屏幕返回的信息,每行为一个单元,组成数组 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为你手动打开命令行,是承接了系统环境的,所以能直接运行文件但用php执行,并不能承接系统环境,所以你还是需要指明可执行文件(exe等) 这应该是用户权限问题直接在跟目录下放个php文件 可以成功但显然不是 web 方式运行的,因为你不可能将网站的根放在 C 盘的根上建议:将网站目录移动到 D 盘上,并授予匿名用户执行权不把网站放在 C 盘可防止系统文件被意外破坏,同时在系统崩溃时,灾难恢复的的工作量要小得多 我把pdf2swf后面加上了.exe 还是不能执行 我试了试ipconfig 这个命令没问题 可能应该还是路径问题 我明明都写了绝对路径的 请问大哥 我是不是路径什么地方有问题?$mcd = "D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf"exec($cmd,$out);这是我的cmd命令 比较长 请赐教 呃 版主大大 我是放在网站根目录了 不是C盘根目录 D:\JGY\JGY_WEB\JGY_PHP\install_package 这个是我的网站根目录我把pdf2swf.exe放在这个下面 然后在放个1.pdf 再建一个index.php 里面的代码直接就是exec(pdf2swf 1.pdf 1.swf)这样的能成功 然后下面的代码:$mcd = "D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf"路径比较深 三个参数中间都有空格 但这个就不行了 $mcd$cmd我看到两个不同的变量名 额 这个是我刚才手敲的 不好意思 我是在ie里echo出的cmd命令 D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf就是这么个路径 $cmd = "c:/php/www/pdf2swf c:/php/www/upload/1.pdf c:/php/www/upload/1.swf"exec($cmd);这是你发帖中的代码如果你提供的信息,怎么可能得到真实的结果呢? 抱歉 抱歉 因为我的地址是在程序里得到的 我把程序贴出来 不如这么直接写个url直接 我echo了一下$cms这个变量 就是这个路径 D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf劳烦版主大人再给分析一下 是不是iis的问题?我在本地apache测试是正常的 iis上看了一下 所有的用户都有读写执行权限的 首先要解决的是权限的问题如果指令在命令行或批处理中可以正确执行的话,那么问题就在于“权限”当然你是不会禁用 exec 函数的 文件读取问题 菜鸟营,谈谈你们对php学习的心得! 验证码 乱码问题 急急急 !!!!!!!! PHP 如何把变量写进 function的名字里? include调用问题 函数定义问题 有谁能举一个session的实例. 正则式取得的数组与数组如何替换 PHP读数组里的数据的问题. 宇凡请进!有问题请教,急! 菜鸟请教php模板标签的意思 关于PHP面向对象的一个问题
但用php执行,并不能承接系统环境,所以你还是需要指明可执行文件(exe等)
直接在跟目录下放个php文件 可以成功
但显然不是 web 方式运行的,因为你不可能将网站的根放在 C 盘的根上建议:
将网站目录移动到 D 盘上,并授予匿名用户执行权
不把网站放在 C 盘可防止系统文件被意外破坏,同时在系统崩溃时,灾难恢复的的工作量要小得多
我把pdf2swf后面加上了.exe 还是不能执行 我试了试ipconfig 这个命令没问题 可能应该还是路径问题 我明明都写了绝对路径的 请问大哥 我是不是路径什么地方有问题?$mcd = "D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf"
exec($cmd,$out);这是我的cmd命令 比较长 请赐教
D:\JGY\JGY_WEB\JGY_PHP\install_package 这个是我的网站根目录
我把pdf2swf.exe放在这个下面 然后在放个1.pdf 再建一个index.php
里面的代码直接就是exec(pdf2swf 1.pdf 1.swf)
这样的能成功 然后下面的代码:
$mcd = "D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf"
路径比较深 三个参数中间都有空格 但这个就不行了
$cmd
我看到两个不同的变量名
D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf
就是这么个路径
exec($cmd);
这是你发帖中的代码
如果你提供的信息,怎么可能得到真实的结果呢?
D:\JGY\JGY_WEB\JGY_PHP\install_package\app\pdf2swf.exe D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.pdf D:\JGY\JGY_WEB\JGY_PHP\install_package\uploadfile\2012\1222\20121222110539946.swf
劳烦版主大人再给分析一下 是不是iis的问题?我在本地apache测试是正常的 iis上看了一下 所有的用户都有读写执行权限的
如果指令在命令行或批处理中可以正确执行的话,那么问题就在于“权限”
当然你是不会禁用 exec 函数的