3

I need to open a Spatialite database by using php in a php's framework. I've already work on a basic php file to test how it work but it gave me some errors.

I've already try to load extension by using two method :

  • $db->loadExtension('mod_spatialite.so'); Warning: SQLite3::loadExtension(): Not supported in multithreaded Web servers in C:\applications\www\sqlite3_ext\index.php on line 19

  • $db->exec("SELECT load_extension('mod_spatialite.so')"); Warning: SQLite3::exec(): not authorized in C:\applications\www\sqlite3_ext\index.php on line 20

Utilities : Use a wamp (3.0.0) for a local server - PHP 7.0.0 - Mysql - Apache 2.4.17

Link to my basic php code : https://pastebin.com/t01D7xrg Link to my php.ini configuration : https://pastebin.com/HrTjnWPP

asked Apr 13, 2018 at 8:55

1 Answer 1

1

I had same trouble with the sqlite extensions loading and decide to create own shell and native php drivers and compile some win/lin binaries for here: https://github.com/eSlider/spatialite

I wrote some tests you can use as an example: https://github.com/eSlider/spatialite/blob/master/tests/SpatialShellDriverTest.php

By initializing instance of SpatialShellDriver you can add own spatialite library and/or spatialite binary path.

It should be posible to work without any problem if you use composer dependency manager. Take a look on this here: https://getcomposer.org/

Here the installation informations: https://getcomposer.org/doc/00-intro.md#installation-windows

Notice: SpatialShellDriver is slow, but it works on windows and linux without any additional installation. For linux you can use SpatialNativeDriver if you install spatialite php module.

answered Apr 15, 2018 at 10:38

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.