【问题标题】:How to configure wampserver for spatialite如何为空间站点配置 wampserver
【发布时间】:2012-03-21 14:38:51
【问题描述】:

我在 Windows 7 中。我安装了 WAMPServer。现在,我无法加载空间库。它正在显示警告..

警告:SQLite3::loadExtension() [sqlite3.loadextension]: 不是 在多线程 Web 服务器中支持

这是我的总体配置过程,我做了什么......

从这个链接我得到了spatialite lib。我复制了“libspatialite-1.dll”并将其粘贴到包含 php 扩展 dll 的“D:\wamp\bin\php\php5.3.8\ext”。

http://www.gaia-gis.it/spatialite-2.3.1/libspatialite-win-x86-2.3.1.zip

然后我编辑了 php.ini 文件。我更改了以下配置。

.
sqlite3.extension_dir = C:\libspatialite-win-x86-2.3.1\bin
.
extension=libspatialite-1.dll
.
enable_dl = On

最后,我将所有库从我下载的 libspatialite-win-x86-2.3.1 复制并粘贴到我编写的 php 代码中的项目文件夹(libspatialite.a、libspatialite.dll.a、libspatialite.la)中脚本如下...

<?php

$db = new SQLite3('sixcommunes.sqlite'); 

$db->loadExtension('libspatialite.a'); 

$rs = $db->query('SELECT spatialite_version()');
while($row = $rs->fetchArray()){
    print "<h3>SQLite version: $row[0]</h3>";
}

?>

我不知道我做错了什么或如何解决这个问题?

【问题讨论】:

    标签: php apache wampserver spatialite


    【解决方案1】:

    还没有看到任何答案,所以给我自己的。我在 C# 中使用了 spatialite,我认为对于使用 Spatialite 扩展,您不必像通常的 PHP 扩展那样加载 libspatialite,而是应该做类似的事情。 (这是c#代码,只是想给大家一个思路)

    SQLiteCommand sqliteCommand = new SQLiteCommand(String.Format("SELECT
    load_extension('{0}');", "libspatialite-2.dll"), connection);
    sqliteCommand.ExecuteNonQuery();
    

    您必须在 sqlite 上执行 Select load_extension("libspatialite-2.dll") 才能使用 Spatialite。 希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多