【问题标题】:exec doesn't work on window server 2008 phpexec 在窗口服务器 2008 php 上不起作用
【发布时间】:2012-09-07 20:28:17
【问题描述】:

如果我通过 php 文件 http://localhost/myfile.php 运行它,我在下面有一个命令

会输出cmd,但不会生成input_file.txt。

$cmd = "ffmpeg.exe -i C:\\ep-convert\\To_the_Beautiful_You_9.264 2> input_file.txt";
exec($cmd);
echo $cmd;

但是,如果我在屏幕上复制命令输出

ffmpeg.exe -i C:\ep-convert\To_the_Beautiful_You_9.264 2> input_file.txt

然后我将它粘贴到控制台中,它的工作。

问题是,如果我运行其他 exe 文件,如 mencoder 或 mplayer 等。输出会显示,但具体来说,这个 ffmpeg.exe 似乎没有与我的 exec() 一起运行

可能出了什么问题以及如何让 exec 使用上面的 cmd 工作。

我正在运行窗口服务器 2008

【问题讨论】:

  • 尝试为 ffmpeg.exe 添加完整路径?
  • 我试过了,但它似乎无法控制 ffmpeg.exe ,以前代码可以工作。只是突然没有了。
  • Windows 对允许访问 IIS 用户帐户的可执行文件的权限非常挑剔。您可能需要检查 Web 服务器帐户是否具有正确的权限。我认为你会得到一个错误,也许还要检查你是否暂时打开了 php 错误报告,以便查看是否存在实际错误?

标签: php windows exec


【解决方案1】:

这很可能是文件权限问题。您可以从控制台运行此命令,因为您以管理员身份运行控制台。 IIS 有不同的用户帐户。默认情况下限制访问其他文件。您必须向该用户授予特定目录的权限。您可以简单地右键单击文件夹,然后单击属性。转到安全选项卡并编辑权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 2012-01-12
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多