HelpSpot Help Desk Software | HelpSpot Blog | HelpSpot Support

4.6.4 PHP error?


After upgrading from 4.5.X, I navigate to installer.php and get this error:

Cannot add duplicate collection entry of type ‘add’ with unique key attribute ‘name’ set to ‘PHP_fastcgi’

I delete the line out of web.config (even though it was in previous version just like that) and then I get this error:

The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.



As a note, I’m using SQL Server 2014 and IIS.


If I manually add the PHP handler in IIS and remove the line from the web.config file, I now get the following error:

Whoops, looks like something went wrong.

PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\Program Files (x86)\helpspot\php/ext\php_sqlsrv_7_nts_x86.dll’ - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\Program Files (x86)\helpspot\php/ext\php_pdo_sqlsrv_7_nts_x86.dll’ - The specified module could not be found. in Unknown on line 0


That’s an error we’ve seen for a few people and are working to fix.

In the mean time, a solution should be to ensure:

  1. you have the latest C++ Redistributable installed
  2. Ensure ODBC 11+ is installed

Then restart the website within IIS and try heading to installer.php again to complete the update.

Apologies for the inconvenience on that update!


I updated per your comments, but I still get the PHP Warning. I backtracked my manual add of PHP handler and the web.config edit and that brought me back to my original warning.



Okay, new update. I apparently was browsing https://localhost/helpspot/installer.php instead of https://localhost/installer.php
Browsing the correct location gives me simply the ‘Whoops, something went wrong’ error.


Using “https://” with localhost is a bit odd, but perhaps you have an ssl certificate setup for your localhost server?

The /helpspot/ portion of the URL is what I’d expect to see as a result of a default installation of HelpSpot using the Windows Installer. However, that can be configured in IIS, so perhaps that configuration was changed?

In any case, editing helpspot’s config.php to set the cDEBUG variable to “true” should give a better error message. Also make sure that the cHOST variable is set to the URL (including any sub directories such as /helpspot) that you use in the browser to reach helpspot (e.g. http://localhost or http://localhost/helpspot - including http or https depending on if you have an ssl certificate setup).


I have everything redirecting to https, so that’s normal. Worked fine with prior versions.

So… the debug is nice. Here’s the output when navigating to installer.php:

HelpSpot could not connect to the database, likely due to incorrect credentials supplied in config.php. The error received from the database was: could not find driver #0 [internal function]: {closure}(Object(Illuminate\Database\DatabaseManager), Object(HS\HelpSpot)) #1 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Container\Container.php(698): call_user_func(Object(Closure), Object(Illuminate\Database\DatabaseManager), Object(HS\HelpSpot)) #2 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Container\Container.php(682): Illuminate\Container\Container->fireCallbackArray(Object(Illuminate\Database\DatabaseManager), Array) #3 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Container\Container.php(443): Illuminate\Container\Container->fireResolvingCallbacks(‘db’, Object(Illuminate\Database\DatabaseManager)) #4 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(462): Illuminate\Container\Container->make(‘db’, Array) #5 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Container\Container.php(806): Illuminate\Foundation\Application->make(‘db’) #6 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Database\DatabaseServiceProvider.php(16): Illuminate\Container\Container->offsetGet(‘db’) #7 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(585): Illuminate\Database\DatabaseServiceProvider->boot() #8 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation{closure}(Object(Illuminate\Database\DatabaseServiceProvider), 7) #9 C:\Program Files (x86)\helpspot\helpspot\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(585): array_walk(Array, Object(Closure)) #10 C:\Program Files (x86)\helpspot\helpspot\bootstrap\helpspot.php(87): Illuminate\Foundation\Application->boot() #11 C:\Program Files (x86)\helpspot\helpspot\installer.php(17): unknown() #12 {main}


Of course, the obvious place to look, I just looked… the install_log_hs_4.6.4. I see the same thing, but with the .dll load errors listed at the bottom. So, I imagine anyone using SQL Server is having this issue.


So far, not everyone, which is the interesting part. This is the error we’ve fixed for some by having them install the C++ redistributable and ODBC - That in theory should resolve that issue.

Perhaps try the newer ODBC 13 driver?


No change. :frowning: A problem for tomorrow.



After another customer hit this, we realized we need to specifically install the 32bit version of the C++ redistributable package, as that’s what PHP is running as with HelpSpot (32bit version). If you want to try that out, hopefully you’ll get a resolution on that.