Sorry - I'm a bit new to all this. I have removed the semi colon as below.
extension=mysqli
The full php.ini file is attached.
When testing the site I now get the following.
PHP Deprecated: Optional parameter $namespace declared before required parameter $key is implicitly treated as a required parameter in C:\inetpub\wwwroot\helpdesk\include\class.config.php on line 193 PHP Deprecated: Return type of BaseList::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.util.php on line 101 PHP Deprecated: Return type of BaseList::count($mode = COUNT_NORMAL) should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.util.php on line 106 PHP Deprecated: Return type of ListObject::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.util.php on line 220 PHP Deprecated: Return type of ListObject::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.util.php on line 198 PHP Deprecated: Return type of ListObject::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.util.php on line 207 PHP Deprecated: Return type of ListObject::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.util.php on line 227 PHP Deprecated: Return type of ModelMeta::offsetExists($field) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 242 PHP Deprecated: Return type of ModelMeta::offsetGet($field) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 236 PHP Deprecated: Return type of ModelMeta::offsetSet($field, $what) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 239 PHP Deprecated: Return type of ModelMeta::offsetUnset($field) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 245 PHP Deprecated: Return type of QuerySet::getIterator($iterator = false) should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1565 PHP Deprecated: Return type of QuerySet::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1596 PHP Deprecated: Return type of QuerySet::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1599 PHP Deprecated: Return type of QuerySet::offsetSet($a, $b) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1605 PHP Deprecated: Return type of QuerySet::offsetUnset($a) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1602 PHP Deprecated: Return type of QuerySet::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1371 PHP Deprecated: Return type of CachedResultSet::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1743 PHP Deprecated: Return type of CachedResultSet::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1747 PHP Deprecated: Return type of CachedResultSet::offsetSet($a, $b) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1754 PHP Deprecated: Return type of CachedResultSet::offsetUnset($a) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 1751 PHP Deprecated: Return type of ModelInstanceManager::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2002 PHP Deprecated: Return type of CallbackSimpleIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2046 PHP Deprecated: Return type of CallbackSimpleIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2051 PHP Deprecated: Return type of CallbackSimpleIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2036 PHP Deprecated: Return type of CallbackSimpleIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2040 PHP Deprecated: Return type of CallbackSimpleIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2031 PHP Deprecated: Return type of FlatArrayIterator::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2076 PHP Deprecated: Return type of HashArrayIterator::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.orm.php on line 2099 PHP Deprecated: Return type of BaseMessageStorage::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\inetpub\wwwroot\helpdesk\include\class.message.php on line 186 PHP Fatal error: Uncaught Error: Call to undefined function mysqli_init() in C:\inetpub\wwwroot\helpdesk\include\mysqli.php:28 Stack trace: #0 C:\inetpub\wwwroot\helpdesk\bootstrap.php(197): db_connect() #1 C:\inetpub\wwwroot\helpdesk\main.inc.php(28): Bootstrap::connect() #2 C:\inetpub\wwwroot\helpdesk\client.inc.php(21): require_once('...') #3 C:\inetpub\wwwroot\helpdesk\index.php(16): require('...') #4 {main} thrown in C:\inetpub\wwwroot\helpdesk\include\mysqli.php on line 28