2013-01-01 11 views
22

のためのPHP PDO拡張モジュールを構築するために私は現在、私を必要とするプロジェクトに取り組んでいます...誰も私が私の髪のうち残っているもの引っ張るなっている問題で私を助けることができる場合、私は疑問に思うロケットU2

をしようUnidataデータベースと話をする。 PHPにはこの種のデータベースにアクセスするためのネイティブドライバはありませんが、ある種のグーグルの後に私は以下を見つけました:

https://u2devzone.rocketsoftware.com/accelerate/articles/u2-pdo-driver/u2-pdo-driver

私はU2 Intercallヘッダーとライブラリを持っていますが、私はそれらを正しく含めると思います。ただし、拡張子はコンパイルが、それは、ライブラリに対してリンクされていないことを私に示唆

pdo_u2.so: undefined symbol: ic_universe_session in Unknown on line 0 

でそれをエラーとしてテストを渡しません。

relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC 
/home/kaigoh/Downloads/intcall/lib/libuvic.a: could not read symbols: Bad value 
collect2: error: ld returned 1 exit status 
make: *** [pdo_u2.la] Error 1 

と私はメイクファイルを編集し、ライブラリが含まれなければならないことを手で指定し、それがエラーを出し、私はメイクに-fPICスイッチを強制的に試してみましたが、私は同じエラーを取得します。

私は、自分自身を支援するためにカスタムPHP拡張モジュールをコンパイルするだけではわかりません。正しい方向で私を指し示すことができるのは、ここにあるのが願っています!

UPDATE:これは完全に32ビットLinuxのインストールを使用してコンパイルし、それが64ビットのインストール...

+1

これはおそらく、インターコールのU2コンポーネントが32ビットコンパイルであり、64ビットで使用できないためです。アクティブなサポート契約を結んでいる場合は、サポートベンダーがサポートする可能性があります。 –

+0

あなたが提供したエラーメッセージからUniVerseに接続しようとしているように思えますが、UniDataに接続して、UniDataの接続設定が正しいことを確認する必要があると述べました。私はダンのコメントが主な理由だと思う。 –

+0

@kaigoh:次回にオンラインになると、ここであなたの質問を確認し、その後何が起こったのかをさらに詳しくお知らせください。また、コメントと回答を見直して、それらに対するフィードバックを提供してください。ありがとうございました。 – hakre

答えて

2

私はこの質問に長い間尋ねてきましたが、私が思いついた究極の解決策は、Rocketの.NetライブラリとC#のミドルウェアを読み、処理できるPHPクラスUniDataのデータ

PHPからUniDataにアクセスする方法の詳細については、誰でも気軽にお問い合わせください。

+0

これをどのように達成したかについてもっと知りたいと思います。気にしない場合は、Gmailのmike.roosaにメールしてください。 –

1

のlib/libuvic.aで失敗している理由は考えが-fPICで再コンパイルする必要はありません、それにリンクしようとしているコードだけではありません。あなたの出力サンプルから、ライブラリを-fPICで再コンパイルしたかどうかを知ることはできません。

関連する問題