WackoWiki / wackowiki

WackoWiki is a light and handy Wiki-engine.
https://wackowiki.org
BSD 3-Clause "New" or "Revised" License
42 stars 10 forks source link

Stuck at installing database #10

Closed HenryLogic closed 1 year ago

HenryLogic commented 1 year ago

Hello, I want to install WackoWiki 6.0.37 on Ubuntu 22.04.3 LTS aarch64. Everything looks right but it stuck at installing database and doesn't create tables. I also tried the latest version and got the same question. Is there any solution? IMG_20231111_001139

HenryLogic commented 1 year ago

Sorry, I noticed that wackowiki needs apache but I use nginx... Could wackowiki run on nginx?

vendeeglobe commented 1 year ago

You can run WackoWiki on Nginx as well, for Nginx rewrite settings please search in our forum.

Installer: Please turn error reporting in your config/constants.php on and run the installer again.

const DB_ERROR_MODE             = 1;
const PHP_ERROR_REPORTING           = 6;

The PHP error log will tell you what went wrong. Can you please report back what you've got. \php\logs\php_error_log

HenryLogic commented 1 year ago

You can run WackoWiki on Nginx as well, for Nginx rewrite settings please search in our forum.

Installer: Please turn error reporting in your config/constants.php on and run the installer again.

const DB_ERROR_MODE               = 1;
const PHP_ERROR_REPORTING         = 6;

The PHP error log will tell you what went wrong. Can you please report back what you've got. \php\logs\php_error_log

Thank you for your reply. I have turned error reporting in constants.php and run the installer at a local ubuntu aarch64. Here is the log in the picture below:

Warning: Undefined array key "wacko_version" in /www/wwwroot/wackowiki/setup/header.php on line 33
Fatal error: Uncaught mysqli_sql_exception: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' in /www/wwwroot/wackowiki/setup/install-database.php:180 Stack trace: #0 /www/wwwroot/wackowiki/setup/install-database.php(180): mysqli_query() #1 /www/wwwroot/wackowiki/class/installer.php(41): include('...') #2 /www/wwwroot/wackowiki/index.php(45): Installer::run() #3 {main} thrown in /www/wwwroot/wackowiki/setup/install-database.php on line 180

IMG_20231111_203233

Because I use btpanel, a web panel running the wackowiki, sorry that I didn't find the \php\logs\php_error_log. But I find this, does it be helpful?

2023/11/11 20:28:04 [error] 30394#0: *24418 open() "/www/wwwroot/wackowiki/setup/images/favicon.ico" failed (2: No such file or directory), client: 192.168.43.180, server: wacko.wiki, request: "GET /setup/images/favicon.ico HTTP/1.1", host: "192.168.43.18", referrer: "http://192.168.43.18/index.php"
2023/11/11 20:31:19 [error] 30393#0: *24438 FastCGI sent in stderr: "PHP message: PHP Warning:  Undefined array key "wacko_version" in /www/wwwroot/wackowiki/setup/header.php on line 33PHP message: PHP Fatal error:  Uncaught mysqli_sql_exception: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' in /www/wwwroot/wackowiki/setup/install-database.php:180
Stack trace:
#0 /www/wwwroot/wackowiki/setup/install-database.php(180): mysqli_query()
#1 /www/wwwroot/wackowiki/class/installer.php(41): include('...')
#2 /www/wwwroot/wackowiki/index.php(45): Installer::run()
#3 {main}
  thrown in /www/wwwroot/wackowiki/setup/install-database.php on line 180" while reading response header from upstream, client: 192.168.43.180, server: wacko.wiki, request: "POST /?installAction=install-database HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi-81.sock:", host: "192.168.43.18", referrer: "http://192.168.43.18/?installAction=config-database"
2023/11/11 20:31:19 [error] 30393#0: *24438 open() "/www/wwwroot/wackowiki/favicon.ico" failed (2: No such file or directory), client: 192.168.43.180, server: wacko.wiki, request: "GET /favicon.ico HTTP/1.1", host: "192.168.43.18", referrer: "http://192.168.43.18/?installAction=install-database"
vendeeglobe commented 1 year ago

Fatal error: Uncaught mysqli_sql_exception: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' in /setup/install-database.php:180

After a short search I found the culprit. NO_AUTO_CREATE_USER was removed in MySQL 8, this is the reason why it triggers a fatal error.

HOTFIX: Remove the NO_AUTO_CREATE_USER in your constants.php, e.g. const SQL_MODE_PERMISSIVE = 'NO_ENGINE_SUBSTITUTION';

I'll work on a workaround and a patch, good to know - my test stack uses only MariaDB.

HenryLogic commented 1 year ago

Fatal error: Uncaught mysqli_sql_exception: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' in /setup/install-database.php:180

After a short search I found the culprit. NO_AUTO_CREATE_USER was removed in MySQL 8, this is the reason why it triggers a fatal error.

HOTFIX: Remove the NO_AUTO_CREATE_USER in your constants.php, e.g. const SQL_MODE_PERMISSIVE = 'NO_ENGINE_SUBSTITUTION';

I'll work on a workaround and a patch, good to know - my test stack uses only MariaDB.

Thank you very much, now it works perfectly.