user3495425
user3495425

Reputation: 11

Need Help Adding NTS Version of PHP to WampServer to run ZendLoader

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

Answers (1)

user3495425
user3495425

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

Related Questions