2012-03-21 21 views
0

我在Windows 7中。我安裝了WAMPServer。現在,我無法加載空間庫。這是顯示警告..如何爲空間配置wampserver

警告:sqlite3的:: loadExtension()[sqlite3.loadextension]:在多線程Web服務器

這裏是我的總配置過程,我做了什麼不 支持...

從這個鏈接我得到了空間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共贏 - x86-2.3.1庫粘貼到我的項目文件夾(libspatialite.a,libspatialite.dll.a,libspatialite.la)我php代碼我寫的腳本如下...

<?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>"; 
} 

?> 

我不知道我做錯了什麼或如何解決這個問題?

回答

0

還沒有看到任何答案,所以給我自己的。我在C#中使用過spatialite,我認爲對於使用Spatialite擴展,您不必像通常的PHP擴展一樣加載libspatialite,而應該完成類似的工作。 (這是C#代碼,只是想給你一個想法)

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

,你必須執行選擇load_extension( 「libspatialite-2.DLL」)上sqlite的使用Spatialite。 希望這會有所幫助