ソースからの変更:
DLL でこのような問題が発生する原因はさまざまです。最初に -すべてのファイルが配置されていることを確認します- midas モジュールがそこに存在しますか? 環境にそれへの適切な参照はありますか?
拡張子が設定されていることを確認してください - SO モジュールがあることを確認し、構成ファイルに拡張子タイプとして SO タイプがあること、つまり次の行が存在することを確認します。
extension=module.so
これで問題が解決しない場合は、リンカーを動的にチェックすることを検討してください - 読み込み中のエラーですか、それとも一部のヘッダーが適合しませんでしたか?
何が起こったのか教えてください。
編集:未定義の構文の読み込み中にエラーが発生したようです。それでは、同様のケースをご紹介します。
あなたのエラーは、ZTv0ortableServer11ServantBase9_downcastEv
モジュールが使用する共有ライブラリにそのシンボルが見つからないことを意味します。これはおそらくデフォルトではないライブラリによって提供されています - php-gd ではなく、おそらく omniORB です。
readelf -s <path to SO file>
と
nm -D <path to SO file>
シンボルがリストされますが、そこには見つからないはずです。
参照に干渉している omniORB タイプの更新されていないライブラリが存在する可能性があります。たとえば、Remi がその可能性があります。コードにそれがある場合、またはこれを行う可能性のある他のコードがある場合は、それらをリセットできます。
たとえば、remi ファイルが干渉していると思われる場合は、すべての remi パッケージを削除してリセットし ( rpm -qa|grep remi
)、remi-release パッケージを削除し、EPEL リポジトリから最後に利用可能な php/gg/etc パッケージをインストールします (これらをダウングレードする必要がある場合があります)。rpm -Uvh package.rpm --oldversion
)。次に、すべてのパッケージをアップグレードします。
同様の質問へのリンクは、ここ、ここ、ここ、さらにはここにあります。
これが役に立ったかどうか教えてください。