Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无论何时使用loadextension或选择loadextension,它都会给出内部服务器错误(sqlite3、spatialite、PHP windows)_Php_Windows_Sqlite_Gis_Spatialite - Fatal编程技术网

无论何时使用loadextension或选择loadextension,它都会给出内部服务器错误(sqlite3、spatialite、PHP windows)

无论何时使用loadextension或选择loadextension,它都会给出内部服务器错误(sqlite3、spatialite、PHP windows),php,windows,sqlite,gis,spatialite,Php,Windows,Sqlite,Gis,Spatialite,请帮忙。我也给出了下面的代码。尝试了很多东西。它不起作用了 选择了一个spatialite数据库: $db = new SQLite3('db2.sqlite'); 尝试了以下加载扩展: // $db->loadExtension('C:\PHP\ext\libspatialite-2.dll'); // $db->loadExtension('libspatialite-4.dll'); // $db->exec("SELECT InitSpatialMe

请帮忙。我也给出了下面的代码。尝试了很多东西。它不起作用了

选择了一个spatialite数据库:

     $db = new SQLite3('db2.sqlite');
尝试了以下加载扩展:

// $db->loadExtension('C:\PHP\ext\libspatialite-2.dll');
//   $db->loadExtension('libspatialite-4.dll');
//   $db->exec("SELECT InitSpatialMetadata()");
如果加载扩展被禁用,也尝试此功能:

// $db->exec("sqlite3_enable_load_extension(1)");
//   $tvalue=$db->loadExtension('C:\\PHP\\sqliteext\\libspatialite-4.dll');
尝试在此处加载扩展:

    $db->exec("SELECT load_extension('C:\\PHP\\sqliteext\\libspatialite-4.dll')");
    phpinfo();
    $result = $db->query("SELECT load_extension('libspatialite-4.dll')");


    var_dump($result->fetchArray());
已尝试此查询:

    $result = $db->query('select astext(geometry) from roads');
    var_dump($result->fetchArray());

    $rs = $db->query('SELECT spatialite_version()');

最常见的问题之一是使用libspatialite的一个版本,它是一个“合并”构建,其中包括sqlite。如果包含的sqlite版本与用于加载libspatialite的版本不匹配,则会出现问题(尤其是在64位windows上)。具有不同ABI的两个版本=崩溃

我没有一个好的解决方案,但您可以做一些事情来避免这种情况: 1.不要使用合并构建
2.确保sqlite的两个版本相同。

什么失败了?有错误信息吗?