2012-03-21 6 views
0

私はWindows 7です。私はWAMPServerをインストールしました。今、私はspatialiteライブラリを読み込むことができません。 SQLite3の:: loadExtension()[sqlite3.loadextension]:マルチスレッドのWebサーバーではサポートされません spatialiteのためにwampserverを設定するには

ここに私がやっていること、私の総構成手順では

警告..警告を示しています...

私は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.a、libspatialite.dll.a、libspatialite.la)に私のダウンロードlibspatialite-WIN-x86-2.3.1からすべてのライブラリを貼り付けます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 Extensionsを使用する場合、通常のPHP拡張モジュールのようにlibspatialiteをロードする必要はありません。あなたはSpatialiteを使用するsqliteの上でセレクトload_extension( "libspatialite-2.dll現在")を実行する必要があり

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

(これはちょうどあなたのアイデアを与えるためにしようと、C#のコードです)。 ほしいと思っています。

関連する問題