diff --git a/extension/qfq/qfq/Constants.php b/extension/qfq/qfq/Constants.php
index 1e3fb96cd55cd94d238097d1854330370f35424b..232b5eff804499e8b9c03f3790d9c7d46a36ee3f 100644
--- a/extension/qfq/qfq/Constants.php
+++ b/extension/qfq/qfq/Constants.php
@@ -150,6 +150,7 @@ const ERROR_MISSING_TABLE = 1065;
 const ERROR_RECORD_NOT_FOUND = 1066;
 const ERROR_INVALID_EDITOR_PROPERTY_NAME = 1067;
 const ERROR_UNKNOWN_ESCAPE_MODE = 1068;
+const ERROR_MISSING_CONFIG_INI_VALUE = 1069;
 
 
 // Subrecord
diff --git a/extension/qfq/qfq/store/Store.php b/extension/qfq/qfq/store/Store.php
index 1f6a4aafaaae005ea4cbf1fe9386ae67fd6ed607..055b471c459688848e395bb67d5df359fa1cf258 100644
--- a/extension/qfq/qfq/store/Store.php
+++ b/extension/qfq/qfq/store/Store.php
@@ -220,6 +220,13 @@ class Store {
             $config[SYSTEM_SQL_LOG] = $config[SYSTEM_PATH_EXT] . '/' . $config[SYSTEM_SQL_LOG];
         }
 
+        // Verify existence
+        $names = array('DB_USER', 'DB_SERVER', 'DB_PASSWORD', 'DB_NAME', 'SQL_LOG', 'SQL_LOG_MODE');
+        foreach ($names as $name) {
+            if (!isset($config[$name])) {
+                throw new qfq\UserFormException ("Missing configuration in `config.ini`: $name", ERROR_MISSING_CONFIG_INI_VALUE);
+            }
+        }
 
         self::setVarArray($config, STORE_SYSTEM, true);
     }