我的情况有点特殊。我正在尝试从名为 Diascope 的 PHP 脚本运行视频编码程序,该程序依赖于 ImageMagick 提供的“转换”命令。我有一个 bash 脚本,它执行一个非常简单的转换,然后运行名为 Diascope 的应用程序。这是转换代码,下面的代码确实有效,它创建了新文件
convert image.jpg image.png
显示没有错误,但然后我像这样运行 Diascope
diascope -clean audio.txt
我可以看到 Diascope 加载属性,因为它打印“Diascope 0.2.1”:
diascope 0.2.1 (ms 2006-2010) 幻灯片生成器 请参阅http://diascope.sf.net用于文档和更新。
错误:找不到可执行程序:转换请参阅
发行说明中对透射镜的要求。
当我跑步时shell_exec("whoami");
它打印“没有人”
那么为什么我可以自己运行convert,但“diascope”进程似乎无法利用它?我尝试过进入/usr/local/bin/convert
并将其chmoding为777,但似乎没有任何效果,我还能在这里尝试什么?
更新:当我尝试运行时,我可能应该添加这一点diascope -clean audio.txt
作为终端上的根用户,它会像它应该的那样创建audio.flv文件,而且我似乎也无法sudo su nobody
它返回This account is currently not available.
PHP 与 apache 使用相同的用户运行,通常是 www-data 或 nobody。我相信你可以使用suPHP+apache来更改PHP运行的用户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)