【问题标题】:Web script can't find installed package/software (CentOS)Web 脚本找不到已安装的软件包/软件 (CentOS)
【发布时间】:2017-05-26 21:06:07
【问题描述】:

我对使用 SSH 等安装软件还很陌生。我正在尝试在我的网站 (http://voddr.com/yt/index.php?id=yrreBFLghMc) 上使用 https://github.com/eyecatchup/php-yt_downloader,但如您所见,它返回错误“您必须安装 Ffmpeg 才能使用此功能。”

我已经使用 Nux Desktop 安装了 ffmpeg(请参阅我在此处遵循的指南:https://www.vultr.com/docs/how-to-install-ffmpeg-on-centos

当在 SSH 中输入“ffmpeg”时,它会返回这个,这一定意味着它已安装:

另外,我尝试了命令“which ffmpeg”,它返回了ffmpeg的路径:“/usr/bin/ffmpeg”

php-yt_downloader 使用which ffmpeg 检测是否安装,如果没有,则返回错误“您必须安装Ffmpeg 才能使用此功能。” - 但是如果我能够在我的 SSH 窗口中正常使用它,为什么脚本无法检测到它?

我想知道的是,在安装软件以允许域使用它时我还必须做些什么(比如在域的路径中安装软件?),或者这完全是 php-yt_downloader 资源的问题?我正在使用 CentOS 7 和 Plesk 网络面板。

【问题讨论】:

    标签: php linux ffmpeg centos


    【解决方案1】:

    我认为您在安装软件时所做的一切都是正确的。我会检查你的 php 环境。看看这个链接from the php manual

    注意: 启用安全模式或禁用 shell_exec() 时,反引号运算符被禁用。

    我会首先尝试手册页上的简单示例,以检查 反引号运算符 是否有效。可能是您的网络服务器设置不允许 shell 执行,而这正是 yt_downloader 所使用的,请参阅 their source code.

    【讨论】:

    • 嗯,这很好用。它输出 web 目录中的文件以及其他一些信息。奇怪
    • 那么,如果您在该页面中更改,输出是什么 $output = `ls -al`;到 $output = `哪个 ffmpeg`;并仔细检查 yt_downloader 代码中是否真的存在反引号 - 有时复制和粘贴可能会导致这些反引号出现问题。
    • 当我把它改成which ffmpeg时它没有输出任何东西...所以这意味着它没有权限?还是根本没找到?
    • 奇怪,所以尝试 `set` 并在输出中查找路径 - 是否列出了 /usr/bin? `/usr/bin/ffmpeg` 会得到什么 - 如果你得到与 shell 中相同的输出,你将不得不以某种方式在 yt_downloader 的配置中提供 ffmpeg prog 的路径。或者您必须将 /usr/bin 提供给脚本的路径变量,另请参阅 stackoverflow.com/questions/10835923/…
    猜你喜欢
    • 2021-09-13
    • 2019-12-16
    • 2019-11-08
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多