0

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?

4
  • I'm reinstalling on a fresh new VM running Ubuntu 22.04 now... let's see what happens.
    – Lifeboy
    Apr 19, 2023 at 8:53
  • 1
    I'd try php 7.4
    – Aidan
    Apr 19, 2023 at 9:58
  • php 7.4 is not an option with Xneelo hosting anymore, so I can't go back to that.
    – Lifeboy
    Apr 19, 2023 at 18:10
  • I installed on a new VM wiht Ubuntu 22.04 and XAMPP. Joomla 4.3.0 installed fine and works, but as soon as I attempt to install CiviCRM 5.60.0 I get an error 500.
    – Lifeboy
    Apr 19, 2023 at 18:14

1 Answer 1

0

php 8.2 is not supported yet. You will likely not succeed without getting pretty active with the development team: CiviCRM requirements and PHP version notes

I suggest you focus on 8.1 and post a new question with any issues on that path.

For a more sure thing, you may need to find a host that still offers php 7.4

1
  • We fruitlessly tried with php 8.1 as well, but I didn't record all the errors... Will have to go back and attempt to redo and record the errors.
    – Lifeboy
    Apr 25, 2023 at 11:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.