首页 > 解决方案 > 从 symfony 将 SQLite3 扩展加载到理论存储库中以使用空间函数

问题描述

我试图弄清楚如何使用 SQL 来计算 SQLite 数据库中的距离。

在 Doctrine 所需的一些配置之后,在 MySQL 中工作正常。

最终的 SQL 使用了我在 SQLite 中无法使用的 ASIN 和其他数学函数。

我有这个库,我可以使用 SQLite 客户端加载它,并且查询可以正常工作,因此可以正确编译该库。

但我需要在 symfony 中使用的实际存储库中加载库。

我尝试过的最后一件事是:

$extensionPath = __DIR__ . '/libsqlitefunctions.so';
$con = $this->em->getConnection();
$stm = $con->prepare("SELECT load_extension(?)");
$stm->bindValue(1, $extensionPath);
$stm->execute();
....
The next query execution using QueryBuilder from a doctrine manager that uses this functions
....

结果是:

SQLSTATE[HY000]: General error: 1 not authorized

本地配置是,MacOS with PHP 7.1.1

我读过我无法使用 PDO 加载 SQLite 扩展,那么 Doctrine 有哪些替代方案?

我可以在系统上永久加载这个库吗?

标签: phpsqlitesymfony

解决方案


推荐阅读