命令通过终端工作正常,但不是shell_exec php

时间:2012-09-12 16:17:56

标签: php terminal shell-exec

有一个奇怪的问题我已经在我的mac osx上用狮子安装了wav2png并且在使用终端时工作正常没有问题但是当我尝试使用shell下载时使用shell_exec

$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>";

我得到了输出

dyld: Library not loaded: /opt/local/lib/libpng15.15.dylib
  Referenced from: /usr/bin/wav2png
  Reason: Incompatible library version: wav2png requires version 28.0.0 or later, but libpng15.15.dylib provides version 23.0.0

无法找到更新libpng的方法???

为什么它可以通过终端而不是shell_exec php工作的任何建议?

1 个答案:

答案 0 :(得分:0)

我认为问题出在LD_LIBRARY_PATH和/或一般的库路径中。

转到shell并输入

echo $LD_LIBRARY_PATH

ldd /usr/bin/wav2png

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