How to install Zend Guard Loader on Xampp

Smart Dev picture Smart Dev · Aug 26, 2014 · Viewed 10.8k times · Source

I have been using a software which files are encoded by Zend Guard. Since PHP 5.3 + versions don't support Zend Optimizer hence I have to install Zend Guard Loader to run that application on my windows xampp installation.

I downloaded Zend guard loader and copied to xampp folder.Then I edited the following lines to php.ini file.

zend_extension ="E:\xampp\ZendGuardLoader\php-5.4.x\ZendLoader.dll"
zend_loader.enable=1

Then restarted the xampp but it was giving php5.dll missing error then I downloaded php5.dll file from internet and uploaded to xampp/php folder and edited following file xampp\apache\conf\extra\httpd-xampp.conf here I edited this line

LoadFile "/xampp/php/php5ts.dll"

to LoadFile "/xampp/php/php5.dll"

then the php5.dll error gone and the following error occurred:

"the procedure entry point zend_new_interned_string could not be located in the dynamic link library E:\xampp\ZendGuardLoader\php-5.4.x\ZendLoader.dll"

When I tried to search on internet then found that this is the issue with 'Thread Safety' is enabled in xampp php. I don't know how to disable 'Thread Safety' or how to use 'Non Thread Safety' php version with xampp.

Please help me to install Zend Guard Loader on Windows 8 os Xampp 1.8.1 with php 5.4.x

Answer

Foad Tahmasebi picture Foad Tahmasebi · May 28, 2015

Before you waste any more time checking, see if phpinfo() output shows that Thread Safety is enabled or not.

Zend Extensions are NTS (non thread safe) so if it is enabled, it cannot load and you need NTS PHP to load Guard Loader extension.

And

Thread Safety cannot be disabled, it is a compilation flag and how the compiled binary works.

You need to load a different Apache PHP Module which is non-thread-safe (php.net releases both TS and NTS builds).

Take a look to http://forums.zend.com/viewtopic.php?f=57&t=43013