[mythtv-users] Upgrade to Mint 21 broke mythweb

Stephen Worthington stephen_agent at jsw.gen.nz
Tue Apr 11 01:38:17 UTC 2023

On Mon, 10 Apr 2023 15:12:06 -0700, you wrote:

>On 4/10/23 14:35, Mike Hodson wrote:
>> You should just need to change the config to actually match the version of PHP installed which is no longer the old one your 
>> old config had in it.
>> Go looking through /use/lib/apache2/modules/ directory on your system, look and see if there's a PHP library in there. There 
>> should be, and likely be a newer version than 7.4.
>> You just need to edit the config to match what exists now and every time you upgrade.
>> Mike
>I looked in the apache2.conf file, and found that it was attempting to load everything in the /etc/apache2/mods-enabled directory.
>Looking in that directory, I found both php7.4 and php8.1 . Since files in this directory are just soft links to files in 
>mods-enabled with the same names, I deleted the php7.4 files, and restarted apache2

The correct way to do this is to use the a2dismod command (with sudo)
to disable the old php module, and use a2enmod to enable the new
version.  Then restart apache2.  So:

sudo a2dismod php7.4
sudo a2enmod php8.1
sudo systemctl restart apache2

But that basically does exactly what you have done by changing the

Updates to the php packages do not automatically do this, for some
strange reason, so you always need to do it manually every time the
php version changes.

You can use the "a2query -m" command to list the currently enabled

>It now runs without errors.
>localhost/mythweb now reports an error:
>*Fatal error*: Uncaught mysqli_sql_exception: Table 'mythconverg.music_songs' doesn't exist in 
>/usr/share/mythtv/mythweb/classes/Database/Query/mysqlicompat.php:68 Stack trace: #0 
>/usr/share/mythtv/mythweb/classes/Database/Query/mysqlicompat.php(68): mysqli_query() #1 
>/usr/share/mythtv/mythweb/classes/Database.php(263): Database_Query_mysqlicompat->execute() #2 
>/usr/share/mythtv/mythweb/classes/Database.php(326): Database->query() #3 /usr/share/mythtv/mythweb/modules/music/init.php(15): 
>Database->query_col() #4 /usr/share/mythtv/mythweb/classes/Modules.php(30): require_once('...') #5 
>/usr/share/mythtv/mythweb/classes/Modules.php(50): Modules::load() #6 /usr/share/mythtv/mythweb/mythweb.php(30): 
>Modules::getModule() #7 {main} thrown in */usr/share/mythtv/mythweb/classes/Database/Query/mysqlicompat.php* on line *68*
>*I'm afraid I don't understand the error message.

That error says that mythweb thinks you have the frontend-only
mythmusic package installed (from whatever clue it uses to decide
that), so it has gone looking for the mythmusic database tables, and
has not found one of them (music_songs).  You could try uninstalling
the mythmusic package and reinstalling it, then running mythfrontend
to allow it to re-create the mythmusic tables.

More information about the mythtv-users mailing list