2012-03-21 2 views
0

Я нахожусь в окнах 7. Я установил WAMPServer. Теперь я не могу загрузить пространственные библиотеки. Это показывает предупреждение ..Как настроить wampserver для пространственного назначения

Предупреждение: SQLite3 :: loadExtension() [sqlite3.loadextension]: Не поддерживается в многопоточных Web-серверах

Вот моя общая процедура конфигурации, то, что я сделал ...

С этой ссылкой я получил пространственный lib. Я скопировал «libspatialite-1.dll» и ввел его в «D: \ wamp \ bin \ php \ php5.3.8 \ ext», который содержит библиотеки расширений php.

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 в моей папке проекта (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

Не видели ответа, так что предоставляем свои собственные. Я использовал spaceite в C#, я думаю, что для использования Spatialite Extensions вам не нужно загружать libspatialite, как обычное расширение PHP, вместо этого должно быть сделано нечто подобное этому. (Это C# код, просто пытается дать Вам идею)

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

Вы должны выполнить Выбрать load_extension ("libspatialite-2.DLL") на SQLite использовать SpatiaLite. Надеюсь, что это поможет

Смежные вопросы