MyBB Community Forums

Full Version: Lite/Archive Mode Incompatibility with PHP 8.1
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Does anyone know of a compatibility/fix for Archive Mode? When I'm on the latest PHP version I have available (8.1.13), the following error message is produced in my logs:

PHP Fatal error:  Uncaught Error: Call to undefined function exec() in /home/XXXXX/public_html/forums/archive/global.php:215
Stack trace:
#0 /home/XXXXX/public_html/forums/archive/index.php(14): require_once()
#1 {main}
  thrown in /home/XXXXX/public_html/forums/archive/global.php on line 215

When I switch back to PHP 7.4, it works as expected.

Line 215 in archive/global.php refers to a load limiting function of some sort...

	if($uptime = @exec('uptime'))
	{
		preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/", $uptime, $regs);
		$load = $regs[1];
		if($mybb->usergroup['cancp'] != 1 && $load > $mybb->settings['load'] && $mybb->settings['load'] > 0)
		{
			archive_error($lang->error_loadlimit);
		}
	}

Worth noting that exec shows up as a disabled_function in phpinfo for both 7.4 and 8.1.
That resolves the issue of Archive Mode not working. Thank you!!