X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/09935d41484d5e9ec450bb16170785849029f3da..88eaa8430b8ceb1696af50c603561a451353ed2a:/docs/admin/Faq.md diff --git a/docs/admin/Faq.md b/docs/admin/Faq.md index 46da7e21..485ba25b 100644 --- a/docs/admin/Faq.md +++ b/docs/admin/Faq.md @@ -24,14 +24,14 @@ If the reported rank is 26 or higher, you can also safely add `--index-noanalyse ### PHP "open_basedir restriction in effect" warnings - `PHP Warning: file_get_contents(): open_basedir restriction in effect.` + PHP Warning: file_get_contents(): open_basedir restriction in effect. -You need to adjust the [open_basedir](http://www.php.net/manual/en/ini.core.php#ini.open-basedir) setting +You need to adjust the [open_basedir](https://www.php.net/manual/en/ini.core.php#ini.open-basedir) setting in your PHP configuration (`php.ini file`). By default this setting may look like this: open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/ -Either add reported directories to the list or disable this setting temporarily by +Either add reported directories to the list or disable this setting temporarily by dding ";" at the beginning of the line. Don't forget to enable this setting again once you are done with the PHP command line operations. @@ -44,9 +44,9 @@ The Apache log may contain lots of PHP warnings like this: You should set the default time zone as instructed in the warning in your `php.ini` file. Find the entry about timezone and set it to something like this: - + ; Defines the default timezone used by the date functions - ; http://php.net/date.timezone + ; https://php.net/date.timezone date.timezone = 'America/Denver' Or @@ -66,11 +66,36 @@ server development libraries (`postgresql-server-dev-9.5` on Ubuntu) and recompile (`cmake .. && make`). +## I see the error "ERROR: permission denied for language c" + +`nominatim.so`, written in C, is required to be installed on the database +server. Some managed database (cloud) services like Amazon RDS do not allow +this. There is currently no work-around other than installing a database +on a non-managed machine. + + ### I see the error: "function transliteration(text) does not exist" Reinstall the nominatim functions with `setup.php --create--functions` and check for any errors, e.g. a missing `nominatim.so` file. +### I see the error: "ERROR: mmap (remap) failed" + +This may be a simple out-of-memory error. Try reducing the memory used +for `--osm2pgsql-cache`. Also make sure that overcommitting memory is +allowed: `cat /proc/sys/vm/overcommit_memory` should print 0 or 1. + +If you are using a flatnode file, then it may also be that the underlying +filesystem does not fully support 'mmap'. A notable candidate is virtualbox's +vboxfs. + +### nominatim UPDATE failed: ERROR: buffer 179261 is not owned by resource owner Portal + +Several users [reported this](https://github.com/openstreetmap/Nominatim/issues/1168) during the initial import of the database. It's +something PostgreSQL internal Nominatim doesn't control. And PostgreSQL forums +suggest it's threading related but definitely some kind of crash of a process. +Users reported either rebooting the server, different hardware or just trying +the import again worked. ### The website shows: "Could not get word tokens" @@ -93,6 +118,11 @@ However, you can solve this the quick and dirty way by commenting out that line sudo systemctl restart httpd +### "must be an array or an object that implements Countable" warning in /usr/share/pear/DB.php + +The warning started with PHP 7.2. Make sure you have at least [version 1.9.3 of PEAR DB](https://github.com/pear/DB/releases) +installed. + ### Website reports "DB Error: insufficient permissions" The user the webserver, e.g. Apache, runs under needs to have access to the Nominatim database. You can find the user like [this](https://serverfault.com/questions/125865/finding-out-what-user-apache-is-running-as), for default Ubuntu operating system for example it's `www-data`. @@ -118,7 +148,7 @@ Example error message CONTEXT: PL/pgSQL function make_standard_name(text) line 5 at assignment] ``` -The Postgresql database, i.e. user postgres, needs to have access to that file. +The PostgreSQL database, i.e. user `postgres`, needs to have access to that file. The permission need to be read & executable by everybody, e.g. @@ -133,7 +163,7 @@ When running SELinux, make sure that the ### Setup.php fails with "DB Error: extension not found" -Make sure you have the Postgres extensions hstore and postgis installed. +Make sure you have the PostgreSQL extensions "hstore" and "postgis" installed. See the installation instruction for a full list of required packages. @@ -143,7 +173,7 @@ See the installation instruction for a full list of required packages. The message is a bit misleading as PHP needs to load the file `DB.php` and instead re-loads Nominatim's `db.php`. To solve this make sure you -have the [Pear module 'DB'](http://pear.php.net/package/DB/) installed. +have the [Pear module 'DB'](https://pear.php.net/package/DB/) installed. sudo pear install DB @@ -168,7 +198,7 @@ For updates you need to download the change files for each country once per day and apply them **separately** using ./utils/update.php --import-diff --index - + See [this issue](https://github.com/openstreetmap/Nominatim/issues/60#issuecomment-18679446) for a script that runs the updates using osmosis.