0
我目前正在尝试将一个运行的PHP项目编译为一个.net dll文件。我的Phalanger/PHP解决方案使用PDO和SQLite。当我到了它创建我的PDO对象的部分:在Phalanger中使用SQLite
$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 s是完全不相关的。
在一个Web应用程序中(据我所知),我需要一个PHP.ini,其中定义了我的sqlite dsn。是否有Phalanger的等效文件,特别是当您构建dll时?如何将我的项目指向SQLite驱动程序?
我也尝试创建一个系统odbc dsn调用sqlite没有运气。
有人可以给我一些建议或指向我一个很好的教程吗?