新城@筑波大学情報です。こんにちは。

PHP 4 で、C言語で書かれたある拡張モジュール(SQLite)を入れよ
うとしたら、動的リンク・ライブラリの所でエラーになり、Apache 
が起動できません。

dyld: NSLinkModule() error
dyld: Symbol not found: _executor_globals
  Referenced from: /usr/local/lib/php/extensions/no-debug-zts-20020429/sqlite.so
  Expected in: flat namespace

この問題を解決する方法はないでしょうか。

単純なモジュールなら、apxs でコンパイルすればいいですよね。
問題は、PHP 用のモジュールで、gcc でコンパイルするようになっ
ているものです。

問題の動的リンクのプログラム
sqlite.so ですが、次のページを参考にして、次のようにしてコン
パイルしたものです。
    http://x.nest.jp/mac/060102_0032.htm
    setenv PHP_SQLITE_UTF8 yes
    pear install SQLite

このページでは、pear を使わないでインストールする方法が出て
ますが、こちらではつかえたので使ってみました。

環境ですが、OS は、MacOSX 10.4 Server です。Apache は、標準
の 1.3 ものではなくて、/opt/apache2 にあるApache2 の方です。
(MacOSX でも、別の環境で標準の Apache 1.x でも試しましたが、
この問題は出ていません。ただ同じ問題で、pear がまったく動か
なくなりましたが。)

少し気になったのが、extension_dirの値。

extension_dir   /usr/local/lib/php/extensions/no-debug-zts-20020429

これは、別の環境で動いた所では、最後、no-zts となっていまし
た。zts と no-zts は何が違うのでしょうか。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\