Reputation: 11
I'm trying to add a 5.5.38 NTS version of PHP to WampServer 2.5 running on a PC using the instructions on this website.
As you may know, WampServer 2.5 comes bundled with a thread safe 5.5.12 version of PHP, but I want to run ZendLoader which requires a NTS version.
After adding PHP 5.5.38 and opening the login page of my Web site, I get
Fatal error: Class 'mysqli' not found in C:\wamp\www\db_connect.php
php_error.log
contains a PHP Warning for each .dll
the php.ini
file tries to load, such as
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.38/ext/php_bz2.dll' - The specified module could not be found. in Unknown on line 0
And as no surprise the php_mysqli.dll
is one of them:
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.38/ext/php_mysqli.dll' - The specified module could not be found. in Unknown on line 0
I've set extension_dir
in the php.ini
and phpForApache.ini
files to:
extension_dir = "c:/wamp/bin/php/php5.5.38/ext/"
I've verified the path name and that all the .dll files are there.
For some strange reason, phpinfo()
says I'm still running the thread safe version:
PHP Version 5.5.12 Thread Safety: enabled
Even though the WampServer menu shows it as PHP Version 5.5.38
When, I exit out of Wampserver through the menu, rename the php5.5.12
directory to _php5.5.12
in the c:\wamp\bin\php
and then try to restart the WampServer, it won't start and I get the following application error:
Exception Exception in module wampmanager.exe at 000F15AO. Could not execute run action: The system cannot find the file specified.
The EventViewer shows:
Faulting application name: wampmanager.exe, version: 1.6.1.33, time stamp: 0x2a425e19 Faulting module name: KERNELBASE.dll, version: 10.0.16299.402, time stamp: 0x81d25214 Exception code: 0x0eedfade Fault offset: 0x00103f12 Faulting process id: 0xfa0 Faulting application start time: 0x01d3e9deceef27f0 Faulting application path: C:\wamp\wampmanager.exe Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll Report Id: 6f09b108-4472-4d89-8d51-9c69b53100db Faulting package full name: Faulting package-relative application ID:
Event ID: 1000 Level: Error
It seems to be looking for some file in the 5.5.12 PHP directory I renamed, and I don't know what or why. I'm wondering if this is why WampServer is failing to load the DLL files and why it thinks it's running PHP 5.5.12.
Thoughts on how I can get PHP 5.5.38 NTS working so I can run ZendLoader?
Upvotes: 0
Views: 413
Reputation: 11
Thanks to everyone that viewed this issue.
I discovered the problem is with Apache and that mod_php doesn't support an NTS version of PHP, so I went with FastCGI.
Using the instructions at https://websanova.com/blog/php/manually-adding-php-versions-to-wamp, and the ones at https://commaster.net/content/installing-php-fastcgi-and-zend-opcache-wampserver, I configured Apache and PHP with Zend Guard/Zend Loader and everything is working fine.
Hope this helps anyone else facing this issue.
Upvotes: 1