Jump to content
The Uniform Server Community

UniService does not load LDAP


 Share

Recommended Posts

Hi folks,

 

For some reason, Uniservice.exe does not run the service with LDAP enabled. Meanwhile, its' brother UniController.exe can start Apache with LDAP enabled. The same machine had apache2triad running as a 24/7 server and had php previously installed.

 

I have tried with switching the configuration files and UniService does follow UniController's configurations for php_production.ini and php_development.ini. However, Uniservice does not follow if UniController is configured for php 5.4 (we require php 5.6 and was only done for testing).

 

Any insight on this issue could help. Thanks in advance.

Link to comment
Share on other sites

I have the same issue, running UniServer Zero XI 11.6.1

 

I get the following error in the apache error.log file when running as a service:

 

PHP Warning: PHP Startup: Unable to load dynamic library 'C:/UniServerZ/core/php54/extensions\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0

 

 

This does NOT happen when running as an app. 2 questions,

 

1] Why the mixed slashes (fwd & backwd), and

2] Is this likely a system/windows path issue?

 

EDIT: Resolved:

 

http://superuser.com/questions/588426/apache-php-ldap-dll-error

 

Copied three noted dlls into windows\system folder and issue went away, not ideal but usable.

Link to comment
Share on other sites

Running as a service Apache cannot find libsasl.dll one solution is to copy this file to windows\system as mentioned above.

Problem with this solution, it is PHP version specific, preventing PHP switching. However Uniform server already has a mechanisum to resolve this type of issue.

First stop and unistall Apache service.
Edit Apache configuration file C:\UniServerZ\core\apache2\conf\httpd.conf
Locate the following sections and add the line shown:

<IfDefine php53>
  LoadFile ${US_ROOTF}/core/php53/libsasl.dll

<IfDefine php54>
  LoadFile ${US_ROOTF}/core/php54/libsasl.dll

<IfDefine php55>
  LoadFile ${US_ROOTF}/core/php55/libsasl.dll

<IfDefine php56>
  LoadFile ${US_ROOTF}/core/php56/libsasl.dll

<IfDefine php70>
  LoadFile ${US_ROOTF}/core/php70/libsasl.dll

Save the configuration file. Reinstall and run Apache service .
All the best
Ric

Link to comment
Share on other sites

Another thing I noticed is that phpinfo stated that Apache's Environment PATH variable is that UniService could not dynamically add all of UniServer's core paths such as C:\UniServerZ\core\apache2\bin;C:\UniServerZ\core\mysql\bin;C:\UniServerZ\core\php56;C:\UniServerZ\core\openssl;C:\UniServerZ\core\msmtp; Meanwhile, UniController can add those to the PATH variable. Since this server is a production server, our temporary fix would be to manually add it to the system variables for now.

 

It's a resolution that doesn't allow php switching but in my case, I'd rather have the server up and running asap. I'll try to do the httpd.conf fix above later on next maintenance.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...