1

奇妙な問題が発生しました。ライオンを使用してmacosxにwav2pngをインストールしましたが、ターミナルを使用しても問題なく動作しますが、以下のようにphpで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では正常に動作しない理由はありますか?

4

1 に答える 1

0

問題はLD_LIBRARY_PATHおよび/または一般的なライブラリパスにあると思います。

シェルに移動して入力します

echo $LD_LIBRARY_PATH

ldd /usr/bin/wav2png

phpスクリプトからまったく同じことを行い(これらのコマンドからの出力を必ず取得してください)、比較してください。答えが見つかると確信しています。

于 2012-09-12T16:35:41.577 に答える