apache2のライブラリ設定
ローカル環境でcgiテストできる環境を構築していたら問題が発生したのでちょっとメモ
pythonからMySQLを呼び出してちょこっと集計するcgiを作っていたんですが
エラーがでましたorz
実際にapache2のログ(/var/log/apache2/error_log)を見てみると
Traceback (most recent call last): File "/Users/nullhacker/Sites/cgi-bin/analysis.py", line 8, in <module> import MySQLdb File "/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module> import _mysql ImportError: dlopen(/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib Referenced from: /usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/_mysql.so Reason: image not found Premature end of script headers: analysis.py
となっているのでapache2さんはどうやらdylibの場所が分からなくて困ってるんだなと思いまして
/etc/apache2/httpd.conf に下記の通り設定を追加しました.
SetEnv DYLD_LIBRARY_PATH /usr/local/mysql/lib/
これですっきり解決...すっきりか?