命令可以通过终端正常工作,但不能通过shell_exec php

命令可以通过终端正常工作,但不能通过shell_exec php,php,terminal,shell-exec,Php,Terminal,Shell Exec,遇到了一个奇怪的问题,我已经在我的MacOSX上安装了wav2png,现在使用lion,在使用终端时工作正常没有问题,但是当我尝试使用shell_exec和php运行它时,如下图所示 $wav2png = shell_exec("cd {$targetDir} && /usr/bin/wav2png --foreground-color=000000ff --background-color=00000000 -o example2.png f86150f88d.wav 2>

遇到了一个奇怪的问题,我已经在我的MacOSX上安装了wav2png,现在使用lion,在使用终端时工作正常没有问题,但是当我尝试使用shell_exec和php运行它时,如下图所示

$wav2png = shell_exec("cd {$targetDir} && /usr/bin/wav2png --foreground-color=000000ff --background-color=00000000 -o example2.png f86150f88d.wav 2>&1");
echo "<pre>" . $wav2png . "</pre>";
找不到更新libpng的方法


有什么建议说明为什么它可以通过终端正常工作,但不能通过shell_exec php?

我认为问题出在LD_LIBRARY_路径和/或一般的库路径上

转到shell并键入

ldd /usr/bin/wav2png


对php脚本执行完全相同的操作(确保获取这些命令的输出)并进行比较,我很确定您找到了答案。

/opt/local/lib/libpng15.15.dylib确实存在?hi-dbf是libpng15.15.dylib存在选中hi感谢您的回复如果我在终端中键入echo$LD\u LIBRARY\u PATH,我会得到一个空输出,如果我在终端中键入ldd/usr/bin/wav2png,我会得到-bash:ldd:command not found?@user1503606:请共享操作系统信息(uname-a;cat/etc/*release*)达尔文Mac-mini.local 11.4.0达尔文内核版本11.4.0:Mon Apr 9 19:32:15 PDT 2012;root:xnu-1699.26.8~1/RELEASE_X86_64 X86_64aaah,恐怕我不能直接帮你(我只是Linux/Solaris的家伙),你需要检查你的操作系统文档谁来解决库链接问题。也许这可以帮你:或者这个:。请让我知道你得到了什么。没有问题谢谢你的关注联系开发人员,看看他是否能提供一些帮助
echo $LD_LIBRARY_PATH
ldd /usr/bin/wav2png