• 締切済み

SQLiteのdll名を変更して使用する方法

PHP + SQLite でWebアプリケーションを作成していますが、 SQLiteの機能で若干不足していると感じた部分があり、 ソースコードを入手して自分でカスタマイズしました。 とりあえずWindowsで作業しています。 C言語のソースをコンパイルしてライブラリを作成し、 オリジナルのSQLiteと区別するための「mySqlite.dll」という名前にしたのですが、 これをPHPから呼び出すにはどのような設定を行えばいいのでしょうか? オリジナルのSQLiteならばPDOを使用して呼び出せるのですが、 自分で名前を付けた「mySqlite.dll」の呼び出し方がわかりません。 とりあえずPathは通したものの、「mySqlite.dll」という名前を 指定するための設定が無いように思います。 ご存知の方ご教示ください。

みんなの回答

回答No.2

>オリジナルのSQLiteと『区別する』ためにわざわざ名前を変えています 関数名やクラス名すべて変更してあるんだよね? >オリジナルのSQLiteと『区別する』ためにわざわざ名前を変えています。 これ単純にモジュールのdllの名前変えているだけじゃん。

rubysworld
質問者

補足

変更したのは機能が不足していると感じた部分だけです。そのため、関数名はオリジナルのSQLiteと同じままで、内部処理だけ手を加えています。 質問としては、PHP側でdllを指定してextensionの処理を呼び出せないかということなのですが、 >関数名やクラス名すべて変更してあるんだよね? という話になるということは、dllの指定は出来ないので、mySqlite側で定義している関数名を全て、オリジナルと重複しないような名前に書き換えないと使用できないという理解で良いですか? 確実にそれしか出来ないのであれば諦めますが。 引き続き、dllを指定して呼び出す方法をご存知の方がいらっしゃったらご教示お願いします。

回答No.1

普通にphp.iniにdllの記述箇所あるぞ。 それとapacheのモジュールとしてsqliteのdllとPDOドライバとしてのsqliteのdllファイルは別物だぞ。 というか自分でカスタマイズしてコンパイルするだけの技量があるのに設定ファイルをいじるための基礎の基礎が欠落しているのは何故?

rubysworld
質問者

補足

「普通に」や「基礎の基礎」という言葉から察するに、php.iniでextensionの設定をすることを指していると思いますが、例えばphp.iniに extension=php_pdo_sqlite.dll extension=php_pdo_mySqlite.dll という記述を行った場合、呼び出し側のPHPはこの2つのdllを区別できるのでしょうか? ※質問文にも書いてありますが、オリジナルのSQLiteと『区別する』ためにわざわざ名前を変えています。オリジナルのSQLiteを上書きしたいわけではないのです。

関連するQ&A

専門家に質問してみよう