phpのプログラムでハマちゃった
ローカル環境(MAMPを使用)でちょっとしたプログラムをphpで書いていました。
このプログラムは単純に引数に値を渡してshell_execで実行するもの。
下記のような感じ。
$script = "/usr/local/bin/hoge " . " " . $hoge;
shell_exec($script);
しかし、いざ実行してみても全然動かない!
そしてエラーの表示
dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/
Frameworks/ImageIO.framework/Versions/A/ImageIO Expected in: /Applications/MAMP/Library/lib/libjpeg.62.dylib
なんだこれ〜
そしていろいろと調べてみたところ
こちらにたどりつき、参考にさせていただきました。
http://d.hatena.ne.jp/lyco/?of=1
見てみると(以下引用)
ライブラリがうまくリンク出来てない、って意味でしょうか。
調べまくった末に行き着いた先は、MAMPのフォーラム。
2007年3月13日午後6時30分のアダムさんのコメントに注目。
Here is something you can do that may help you out. Comment out the 2 lines in the file /Applications/MAMP/Library/bin/envvars: DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH" export DYLD_LIBRARY_PATH so that they read: #DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH" #export DYLD_LIBRARY_PATH and restart Apache? There is probably some fine tuning necessary but it should help in many cases. Please let us know if it works for you.
「/Applications/MAMP/Library/bin/envvarsというファイルのライブラリパスの指定をコメントアウトして、Apacheを再起動すれば、いいかもよ。」
って事でアダムさんという方がコメントを書いていたようで
とりあえず「/Applications/MAMP/Library/bin/envvars」の「envvars」を開き
こうなっているのを
DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH
このようにコメントアウト
#DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
#export DYLD_LIBRARY_PATH
http://d.hatena.ne.jp/lyco/?of=1 によると
「envvars」は apache起動前に環境変数の設定をするのが目的のようです。
なるほど〜、勉強になりました〜
ネコはいつも何をしているのか
タイトルのにもあるように、ネコに関しての記事を書こうと思っています。
今回はとりあえず仲間を紹介したいと思います。
どうしても狭いところが好きなようで、このように入り込んでしまう癖がある彼女の名前は「コマチ」です
どうぞ宜しくお願いします。
そして、かなりの挙動不審&寂しがりやで彼の名前は「カート」です。
このように、この仲間と3名で気ままに記事を書いていこうと思っています。