I am trying to set up Q2A inside a docker container (running Ubuntu 18.04). I am able to get it to connect to my (empty) DB, but am then running into problems with the installation. First off, if I just visit the base URL, I get this:
Your Question2Answer database has been checked with no problems.
Go to admin center
Clicking the link effectively does nothing as I get served up the same page again. Time to roll up the sleeves and go code diving.
After exploring for a while, I tried manually accessing the URL: index.php?qa=install
This then gave me:
Database set_charset error
Seemingly not very helpful on the surface, but what it has so far boiled down to is that the call to mysqli::set_charset() inside of qa_db_connect() is returning false, and yet mysqli::$errno and mysqli::$error are both empty immediately afterwards. Here is the code in question (from line 94 in qa-include/qa-db.php):
if (!$db->set_charset('utf8'))
qa_db_fail_error('set_charset', $db->errno, $db->error);
Googling this issue so far is turning up nothing helpful unfortunately. If I try setting up Q2A on my development server (in a Joomla sub-directory, incidentally) I don't run into these problems and get t the page prompting me to set up the database.
As far as I can tell, my docker container is configured correctly. I am using Apache, PHP-FPM (7.3) and have installed the following php extensions:
ii php-common 2:70+ubuntu18.04.1+deb.sury.org+6 all Common files for PHP packages
ii php7.3 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 all server-side, HTML-embedded scripting language (metapackage)
ii php7.3-cli 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 command-line interpreter for the PHP scripting language
ii php7.3-common 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 documentation, examples and common module for PHP
ii php7.3-curl 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 CURL module for PHP
ii php7.3-fpm 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary)
ii php7.3-gd 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 GD module for PHP
ii php7.3-intl 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 Internationalisation module for PHP
ii php7.3-json 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 JSON module for PHP
ii php7.3-mbstring 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 MBSTRING module for PHP
ii php7.3-mysql 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 MySQL module for PHP
ii php7.3-opcache 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 Zend OpCache module for PHP
ii php7.3-readline 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 readline module for PHP
ii php7.3-xml 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 DOM, SimpleXML, WDDX, XML, and XSL module for PHP
ii php7.3-zip 7.3.11-1+ubuntu18.04.1+deb.sury.org+1 amd64 Zip module for PHP
Lastly, out of curiosity, I tried ignoring the false return from set_charset and allowing the code to proceed. With that change, I then get a similar error on the first SQL query executed:
Database query error
SELECT title, content FROM qa_options
Again, the query called returned false and yet the error details are empty. Any clues greatly appreciated!