0

現在、機能している PHP プロジェクトを .Net dll にコンパイルしようとしています。Phalanger/PHP ソリューションでは、PDO と SQLite を使用しています。PDO オブジェクトを作成する部分に到達すると、次のようになります。

$this->db = new \PDO('sqlite:'.$fileName, null, null, [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);

単純な「ドライバーが見つかりません」という例外が発生します。

あまり有用な情報を見つけることができないので、誰かが経験を積んでいることを願っています.

私のプロジェクト参照には、次のものがあります。

  • PhpNetPDO
  • PhpNetPDOSQLite
  • PhpNetSQLite

次の App.config もあります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <configSections>
    <section name="phpNet" type="PHP.Core.ConfigurationSectionHandler, PhpNetCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0a8e8c4c76728c71" />
  </configSections>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="Phalanger"/>
    </assemblyBinding>
  </runtime>

  <phpNet>
    <classLibrary>
      <add assembly="PhpNetSQLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2771987119c16a03" section="sqlite"/>
      <add assembly="PhpNetPDO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2771987119c16a03" section="pdo"/>
      <add assembly="PhpNetPDOSQLite, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2771987119c16a03" section="pdosqlite"/>
    </classLibrary>
  </phpNet>
</configuration>

App.config はまったく無関係のようですが。

Web アプリケーションでは (私が知る限り)、sqlite dsn が定義されている PHP.ini が必要です。特にdllを構築している場合、Phalangerに相当するファイルはありますか? プロジェクトを SQLite ドライバーに向けるにはどうすればよいですか?

また、sqlite というシステム odbc dsn を作成しようとしましたが、うまくいきませんでした。

誰かが私にアドバイスをくれたり、良いチュートリアルを教えてくれませんか?

4

1 に答える 1