We have been fruitlessly trying to install v 5.60.0 in Joomla. At first we tried php 8.2, but had to give up without success. Back to 8.1 gives no better results.
The latest error with php 8.2 is:
Failed to start the session because headers have already been sent by "/usr/www/users/helenmdfpt/joomla/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php" at line 121.
Is PHP 8.1 or 8.2 a problem in general with CiviCRM? We have had a large number of error from database tables that can't be created to all sorts of others like this one above.
We always start with a clean slate, delete the previous database, so everything is started from scratch and we've been at this for literally days! Surely this is not normal, but what it wrong here?
Joomla debug is enabled.
2023-04-18T18:07:45+00:00 CRITICAL 197.214.119.150 error Uncaught Throwable of type RuntimeException thrown with message "Failed to start the session because headers have already been sent by "[ROOT]/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php" at line 121.". Stack trace: #0 [ROOT]/libraries/src/Session/Storage/JoomlaStorage.php(295): Joomla\Session\Storage\NativeStorage->start()
#1 [ROOT]/libraries/vendor/joomla/session/src/Session.php(406): Joomla\CMS\Session\Storage\JoomlaStorage->start()
#2 [ROOT]/libraries/vendor/joomla/session/src/Session.php(333): Joomla\Session\Session->start()
#3 [ROOT]/libraries/src/Session/Session.php(191): Joomla\Session\Session->has('registry')
#4 [ROOT]/libraries/src/Application/CMSApplication.php(656): Joomla\CMS\Session\Session->get('registry')
#5 [ROOT]/libraries/src/Application/AdministratorApplication.php(162): Joomla\CMS\Application\CMSApplication->getUserState('application.lan...')
#6 [ROOT]/libraries/src/Application/CMSApplication.php(294): Joomla\CMS\Application\AdministratorApplication->doExecute()
#7 [ROOT]/administrator/includes/app.php(61): Joomla\CMS\Application\CMSApplication->execute()
#8 [ROOT]/administrator/index.php(32): require_once('/usr/www/users/...')
#9 {main}
2023-04-18T18:08:02+00:00 CRITICAL 197.214.119.150 error Uncaught Throwable of type RuntimeException thrown with message "Failed to start the session because headers have already been sent by "[ROOT]/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php" at line 121.". Stack trace: #0 [ROOT]/libraries/src/Session/Storage/JoomlaStorage.php(295): Joomla\Session\Storage\NativeStorage->start()
#1 [ROOT]/libraries/vendor/joomla/session/src/Session.php(406): Joomla\CMS\Session\Storage\JoomlaStorage->start()
#2 [ROOT]/libraries/vendor/joomla/session/src/Session.php(333): Joomla\Session\Session->start()
#3 [ROOT]/libraries/src/Session/Session.php(191): Joomla\Session\Session->has('registry')
#4 [ROOT]/libraries/src/Application/CMSApplication.php(656): Joomla\CMS\Session\Session->get('registry')
#5 [ROOT]/libraries/src/Application/AdministratorApplication.php(162): Joomla\CMS\Application\CMSApplication->getUserState('application.lan...')
#6 [ROOT]/libraries/src/Application/CMSApplication.php(294): Joomla\CMS\Application\AdministratorApplication->doExecute()
#7 [ROOT]/administrator/includes/app.php(61): Joomla\CMS\Application\CMSApplication->execute()
#8 [ROOT]/administrator/index.php(32): require_once('/usr/www/users/...')
#9 {main}
2023-04-18T18:08:04+00:00 CRITICAL 197.214.119.150 error Uncaught Throwable of type RuntimeException thrown with message "Failed to start the session because headers have already been sent by "[ROOT]/libraries/vendor/joomla/database/src/Mysql/MysqlDriver.php" at line 121.". Stack trace: #0 [ROOT]/libraries/src/Session/Storage/JoomlaStorage.php(295): Joomla\Session\Storage\NativeStorage->start()
#1 [ROOT]/libraries/vendor/joomla/session/src/Session.php(406): Joomla\CMS\Session\Storage\JoomlaStorage->start()
#2 [ROOT]/libraries/vendor/joomla/session/src/Session.php(333): Joomla\Session\Session->start()
#3 [ROOT]/libraries/src/Session/Session.php(191): Joomla\Session\Session->has('registry')
#4 [ROOT]/libraries/src/Application/CMSApplication.php(656): Joomla\CMS\Session\Session->get('registry')
#5 [ROOT]/libraries/src/Application/AdministratorApplication.php(162): Joomla\CMS\Application\CMSApplication->getUserState('application.lan...')
#6 [ROOT]/libraries/src/Application/CMSApplication.php(294): Joomla\CMS\Application\AdministratorApplication->doExecute()
#7 [ROOT]/administrator/includes/app.php(61): Joomla\CMS\Application\CMSApplication->execute()
#8 [ROOT]/administrator/index.php(32): require_once('/usr/www/users/...')
#9 {main}
Finally we switched to Joomla's formally recommended PHP 8.0 and now we get:
42S22, 1054, Unknown column 'm.home' in 'field list'
everthing.pphp has
#
#<?php die('Forbidden.'); ?>
#Date: 2023-04-18 18:29:38 UTC
#Software: Joomla! 4.2.9 Stable [ Uaminifu ] 14-March-2023 15:00 GMT
#Fields: datetime priority clientip category message
2023-04-18T18:29:38+00:00 WARNING 197.214.119.150 jerror 42S22, 1054, Unknown column 'm.parent_id' in 'where clause'
2023-04-18T18:30:01+00:00 CRITICAL 197.214.119.150 error Uncaught Throwable of type Joomla\Database\Exception\ExecutionFailureException thrown with message "42S22, 1054, Unknown column 'm.home' in 'field list'". Stack trace: #0 [ROOT]/libraries/vendor/joomla/database/src/DatabaseDriver.php(1375): Joomla\Database\Pdo\PdoDriver->execute()
#1 [ROOT]/administrator/components/com_menus/src/Helper/MenusHelper.php(809): Joomla\Database\DatabaseDriver->loadObjectList()
#2 [ROOT]/administrator/components/com_menus/src/Helper/MenusHelper.php(834): Joomla\Component\Menus\Administrator\Helper\MenusHelper::loadXml(Object(SimpleXMLElement), Object(Joomla\CMS\Menu\AdministratorMenuItem), Array)
#3 [ROOT]/administrator/components/com_menus/src/Helper/MenusHelper.php(666): Joomla\Component\Menus\Administrator\Helper\MenusHelper::loadXml(Object(SimpleXMLElement), Object(Joomla\CMS\Menu\AdministratorMenuItem))
#4 [ROOT]/administrator/modules/mod_menu/src/Menu/CssMenu.php(120): Joomla\Component\Menus\Administrator\Helper\MenusHelper::loadPreset('default')
#5 [ROOT]/administrator/modules/mod_menu/mod_menu.php(19): Joomla\Module\Menu\Administrator\Menu\CssMenu->load(Object(Joomla\Registry\Registry), true)
#6 [ROOT]/libraries/src/Dispatcher/ModuleDispatcher.php(52): include('/usr/www/users/...')
#7 [ROOT]/libraries/src/Dispatcher/ModuleDispatcher.php(55): Joomla\CMS\Dispatcher\ModuleDispatcher::Joomla\CMS\Dispatcher\{closure}('/usr/www/users/...', NULL)
#8 [ROOT]/libraries/src/Helper/ModuleHelper.php(281): Joomla\CMS\Dispatcher\ModuleDispatcher->dispatch()
#9 [ROOT]/libraries/src/Helper/ModuleHelper.php(161): Joomla\CMS\Helper\ModuleHelper::renderRawModule(Object(stdClass), Object(Joomla\Registry\Registry), Array)
#10 [ROOT]/libraries/src/Document/Renderer/Html/ModuleRenderer.php(99): Joomla\CMS\Helper\ModuleHelper::renderModule(Object(stdClass), Array)
#11 [ROOT]/libraries/src/Document/Renderer/Html/ModulesRenderer.php(50): Joomla\CMS\Document\Renderer\Html\ModuleRenderer->render(Object(stdClass), Array, NULL)
#12 [ROOT]/libraries/src/Document/HtmlDocument.php(565): Joomla\CMS\Document\Renderer\Html\ModulesRenderer->render('menu', Array, NULL)
#13 [ROOT]/libraries/src/Document/HtmlDocument.php(848): Joomla\CMS\Document\HtmlDocument->getBuffer('modules', 'menu', Array)
#14 [ROOT]/libraries/src/Document/HtmlDocument.php(633): Joomla\CMS\Document\HtmlDocument->_renderTemplate()
#15 [ROOT]/libraries/src/Application/CMSApplication.php(1017): Joomla\CMS\Document\HtmlDocument->render(false, Array)
#16 [ROOT]/libraries/src/Application/AdministratorApplication.php(417): Joomla\CMS\Application\CMSApplication->render()
#17 [ROOT]/libraries/src/Application/CMSApplication.php(299): Joomla\CMS\Application\AdministratorApplication->render()
#18 [ROOT]/administrator/includes/app.php(61): Joomla\CMS\Application\CMSApplication->execute()
#19 [ROOT]/administrator/index.php(32): require_once('/usr/www/users/...')
#20 {main}
I retried the whole thing over on a clean new Ubuntu 22.04 Joomla 4.3.0 installation with XAMPP. It uses PHP 8.2, Apache2 and MariaDB and Joomla works 100%. When I install CiviCRM 5.60.0 though, the installation crashes with error 500. After restoring a snapshot I took before I did the installation, I retried and got this error:
2023-04-19T18:06:37+00:00 CRITICAL 192.168.101.11 error Uncaught Throwable of type Error thrown with message "Failed opening required '[ROOT]/administrator/components/com_civicrm/civicrm.settings.php' (include_path='.:/opt/lampp/lib/php')". Stack trace: #0 [ROOT]/plugins/user/civicrm/civicrm.php(91): plgUserCivicrm->civicrmResetNavigation(0)
#1 [ROOT]/libraries/src/Plugin/CMSPlugin.php(284): plgUserCivicrm->onUserLogin(Array, Array)
#2 [ROOT]/libraries/vendor/joomla/event/src/Dispatcher.php(486): Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}(Object(Joomla\Event\Event))
#3 [ROOT]/libraries/src/Application/EventAware.php(111): Joomla\Event\Dispatcher->dispatch('onUserLogin', Object(Joomla\Event\Event))
#4 [ROOT]/libraries/src/Application/CMSApplication.php(866): Joomla\CMS\Application\WebApplication->triggerEvent('onUserLogin', Array)
#5 [ROOT]/libraries/src/Application/AdministratorApplication.php(341): Joomla\CMS\Application\CMSApplication->login(Array, Array)
#6 [ROOT]/administrator/components/com_login/src/Controller/DisplayController.php(82): Joomla\CMS\Application\AdministratorApplication->login(Array, Array)
#7 [ROOT]/libraries/src/MVC/Controller/BaseController.php(678): Joomla\Component\Login\Administrator\Controller\DisplayController->login()
#8 [ROOT]/libraries/src/Dispatcher/ComponentDispatcher.php(143): Joomla\CMS\MVC\Controller\BaseController->execute('login')
#9 [ROOT]/administrator/components/com_login/src/Dispatcher/Dispatcher.php(45): Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()
#10 [ROOT]/libraries/src/Component/ComponentHelper.php(361): Joomla\Component\Login\Administrator\Dispatcher\Dispatcher->dispatch()
#11 [ROOT]/libraries/src/Application/AdministratorApplication.php(143): Joomla\CMS\Component\ComponentHelper::renderComponent('com_login')
#12 [ROOT]/libraries/src/Application/AdministratorApplication.php(186): Joomla\CMS\Application\AdministratorApplication->dispatch()
#13 [ROOT]/libraries/src/Application/CMSApplication.php(293): Joomla\CMS\Application\AdministratorApplication->doExecute()
#14 [ROOT]/administrator/includes/app.php(61): Joomla\CMS\Application\CMSApplication->execute()
#15 [ROOT]/administrator/index.php(32): require_once('/opt/lampp/htdo...')
#16 {main}
[UPDATE] So I tried again, but without enabling full error reporting, and just "log almost everything" enabled. Here's the log:
#
#<?php die('Forbidden.'); ?>
#Date: 2023-04-19 18:46:41 UTC
#Software: Joomla! 4.3.0 Stable [ Bora ] 18-April-2023 16:00 GMT
#Fields: datetime priority clientip category message
2023-04-19T18:46:41+00:00 WARNING 192.168.101.11 jerror 42S22, 1054, Unknown column 'm.parent_id' in 'where clause'
2023-04-19T18:46:42+00:00 CRITICAL 192.168.101.11 error Uncaught Throwable of type Joomla\Database\Exception\ExecutionFailureException thrown with message "42S22, 1054, Unknown column 'm.home' in 'field list'". Stack trace: #0 [ROOT]/libraries/vendor/joomla/database/src/DatabaseDriver.php(1375): Joomla\Database\Pdo\PdoDriver->execute()
#1 [ROOT]/administrator/components/com_menus/src/Helper/MenusHelper.php(809): Joomla\Database\DatabaseDriver->loadObjectList()
#2 [ROOT]/administrator/components/com_menus/src/Helper/MenusHelper.php(834): Joomla\Component\Menus\Administrator\Helper\MenusHelper::loadXml(Object(SimpleXMLElement), Object(Joomla\CMS\Menu\AdministratorMenuItem), Array)
#3 [ROOT]/administrator/components/com_menus/src/Helper/MenusHelper.php(666): Joomla\Component\Menus\Administrator\Helper\MenusHelper::loadXml(Object(SimpleXMLElement), Object(Joomla\CMS\Menu\AdministratorMenuItem))
#4 [ROOT]/administrator/modules/mod_menu/src/Menu/CssMenu.php(120): Joomla\Component\Menus\Administrator\Helper\MenusHelper::loadPreset('default')
#5 [ROOT]/administrator/modules/mod_menu/mod_menu.php(19): Joomla\Module\Menu\Administrator\Menu\CssMenu->load(Object(Joomla\Registry\Registry), true)
#6 [ROOT]/libraries/src/Dispatcher/ModuleDispatcher.php(52): include('/opt/lampp/htdo...')
#7 [ROOT]/libraries/src/Dispatcher/ModuleDispatcher.php(55): Joomla\CMS\Dispatcher\ModuleDispatcher::Joomla\CMS\Dispatcher\{closure}('/opt/lampp/htdo...', NULL)
#8 [ROOT]/libraries/src/Helper/ModuleHelper.php(281): Joomla\CMS\Dispatcher\ModuleDispatcher->dispatch()
#9 [ROOT]/libraries/src/Helper/ModuleHelper.php(161): Joomla\CMS\Helper\ModuleHelper::renderRawModule(Object(stdClass), Object(Joomla\Registry\Registry), Array)
#10 [ROOT]/libraries/src/Document/Renderer/Html/ModuleRenderer.php(99): Joomla\CMS\Helper\ModuleHelper::renderModule(Object(stdClass), Array)
#11 [ROOT]/libraries/src/Document/Renderer/Html/ModulesRenderer.php(50): Joomla\CMS\Document\Renderer\Html\ModuleRenderer->render(Object(stdClass), Array, NULL)
#12 [ROOT]/libraries/src/Document/HtmlDocument.php(566): Joomla\CMS\Document\Renderer\Html\ModulesRenderer->render('menu', Array, NULL)
#13 [ROOT]/libraries/src/Document/HtmlDocument.php(849): Joomla\CMS\Document\HtmlDocument->getBuffer('modules', 'menu', Array)
#14 [ROOT]/libraries/src/Document/HtmlDocument.php(634): Joomla\CMS\Document\HtmlDocument->_renderTemplate()
#15 [ROOT]/libraries/src/Application/CMSApplication.php(1025): Joomla\CMS\Document\HtmlDocument->render(false, Array)
#16 [ROOT]/libraries/src/Application/AdministratorApplication.php(425): Joomla\CMS\Application\CMSApplication->render()
#17 [ROOT]/libraries/src/Application/CMSApplication.php(298): Joomla\CMS\Application\AdministratorApplication->render()
#18 [ROOT]/administrator/includes/app.php(61): Joomla\CMS\Application\CMSApplication->execute()
#19 [ROOT]/administrator/index.php(32): require_once('/opt/lampp/htdo...')
#20 {main}
It seems the actual error is: "Unknown column 'm.parent_id' in 'where clause'"
Where do I log a bug?