Gibbs
Gibbs

Reputation: 22956

php dll cannot be loaded into server when using apachelounge VC14 build and php.net VC11 build

I am following this great post

Version details;

Apache 2.4.16 php 5.6.11 mysql community installer 5.6.25

Directory structure:

C: server Every setup goes here

Windows System - 7 - 64 bit.

Error

httpd.exe: Syntax error on line 178 of C:/server/httpd/Apache24
/conf/httpd.conf: Cannot load C:\\server\\php\\php5apache2_4.dll into 
server: The specified module could not be found.

code which causes

LoadModule php5_module C:\server\php\php5apache2_4.dll  ----> This Line

<IfModule php5_module>
 DirectoryIndex index.html index.php
 AddHandler application/x-httpd-php .php
 PHPIniDir "C:\server\php"
</IfModule>

It was worked earlier - I just put a new OS and trying the same under C;\server for generic setup so that I can make use of it in every windows 64 bit system with same directory structure.

My doubt : Is it due to version incompatible problems

Download locations:

 mysql is from mysql domain
 php from php domain
 apache from apachelongue

Please help me to solve the error.

EDIT FOR A COMMENT:

php apache dll is present in the php directory

A NOTE

A question becomes stupid when you know the answer like you remember a-z. So no question is stupid generally.

Upvotes: 3

Views: 776

Answers (1)

VolkerK
VolkerK

Reputation: 96159

When using the VC14 (Visual Studio 2015) build of the httpd.exe from apachelounge in combination with the VC11 (Visual Studio 2012) builds of php from php.net you have to install the C runtimes for both versions.

http://www.apachelounge.com/download/VC14/ says:

Be sure that you have installed the Visual C++ Redistributable for Visual Studio 2015 RC : vc_redist_x64/86.exe

http://windows.php.net/download/ says:

- The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012 x86 or x64 installed

The automagically created import code for implicitly linking to the CRT in an application gives you a message box that complains about the missing redistributables. But in this case a .dll is missing another import. And to get this (specific) information propagated is a bit more complicated....
So, without tools like e.g. Depedency Walker you're stuck with the generic Cannot load yaddayadda.dll into server.

Upvotes: 2

Related Questions