These topics are in essence about the error I also got, see the quote below.
The default table prefix is 'phpbb_', which is just small enough with its 6 characters. Any additional character will fail phpBB to install, which is caused by these lines of code. So, phpBB enforces a table prefix of at most 6 characters, but there are 2 problems here:General Error
Index name 'phpbb3_search_wordmatch_un_mtch' on table 'phpbb3_search_wordmatch' is too long. The maximum is 30 characters.
BACKTRACE
FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()
FILE: [ROOT]/phpbb/db/tools.php
LINE: 2119
CALL: trigger_error()
FILE: [ROOT]/phpbb/db/tools.php
LINE: 664
CALL: phpbb\db\tools->sql_create_unique_index()
FILE: [ROOT]/install/install_install.php
LINE: 1216
CALL: phpbb\db\tools->sql_create_table()
FILE: [ROOT]/install/install_install.php
LINE: 99
CALL: install_install->load_schema()
FILE: [ROOT]/install/index.php
LINE: 409
CALL: install_install->main()
FILE: [ROOT]/install/index.php
LINE: 289
CALL: module->load()
- The user is free to choose any prefix he/she wants; no checks are done to ensure the table prefix is short enough. You would at least assume there would be some warning message, before phpBB starts filling the database, to end up crashing?
- Additionally, isn't this index name a bit too long? Couldn't it be shortened? At the moment I do not any more; but there was a time I had 2 versions of a board running side-by-side, one called phpbb2_ (with, yes, phpBB 2.*), and the other phpbb3_ (you guessed it, 3.*). Now the prefix has to be shortened because the actual name is awfully long? This while the actual name shouldn't pop up too often, and people that deal with phpBB databases look at the prefixes all the time?
EDIT:
Additionally, I also wonder why here the table-prefix is hard-coded to be 'phpbb_' when the table-names are 'possibly' loaded. Because of this, in phpbb/db/tools.php#L2115-L2120 as above I now have:
Code: Select all
$table_prefix = 'phpbb_'
$table_name = 'phpbb3_search_wordmatch'
$index_name = 'un_mtch'