Вот так должно быть для php 7.3+
Для файла system/framework.php
setcookie($config->get('session_name'), $session->getId(), [
'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0,
'path' => ini_get('session.cookie_path'),
'domain' => ini_get('session.cookie_domain'),
'secure' => true,
'httponly' => true,
'samesite' => 'Lax',
]);
Для файла catalog/controller/startup/session.php
setcookie($this->config->get('session_name'), $this->session->getId(), [
'expires' => ini_get('session.cookie_lifetime') ? (time() + ini_get('session.cookie_lifetime')) : 0,
'path' => ini_get('session.cookie_path'),
'domain' => ini_get('session.cookie_domain'),
'secure' => true,
'httponly' => true,
'samesite' => 'Lax',
]);
Код немного отличается, т.к. во втором случае он выполняется в методе объекта.
В этом, скорее всего, вы и слепили себе ошибку 500.