Apache doesn't load module from PHP

41,987

Solution 1

I just had the same problem trying to configure php7, so for anyone else having trouble:

There may be a few issues. Check that your versions of php and Apache are bit-compatible (both 64-bit x64 or both 32-bit x86; note that when downloading 64-bit PHP from windows.php.net/download/, the zip file will be called php...Win32...x64).

Also check that they are both compiled with the same version of Visual Studio (e.g. VC14). This happened to be the problem here: www.apachelounge.com/viewtopic.php?t=6596

In my case, I had the problem paulsm4 referred to about quotes. I copied and pasted the code from a website and noticed that when I ran httpd -k start, my error was httpd: Syntax error on line 62 of C:/Apache24/conf/httpd.conf: Invalid LoadModule path \x93c:/php7/php7apache2_4.dll\x94. The \x93 and \x94 are the CP1252 encodings for fancy open and end quotes. Eliminating these or replacing them with regular quotes fixed the problem and Apache ran smoothly with PHP after that.

Another problem someone else ran into was trying to configure Apache with NTS (non-thread-safe) PHP.

php.net/manual/en/install.windows.apache2.php The PHP download website also makes this point.

Solution 2

Removing the double-quotes form the httpd_uwamp.conf file worked for me on both UnWamp and PHP distributions. (No spaces are in any of my path names)

For Example Change

LoadModule "{PHPMODULENAME} {PHPPATH}/{PHPAPACHE2FILE}" to LoadModule {PHPMODULENAME} {PHPPATH}/{PHPAPACHE2FILE}

Thanks to Giancarlo Abel Giulian for his post ;-)

Solution 3

You have to make sure that you are using compatible version PHP with apache. Such that if you are running apache 32 bit make sure you are using PHP 32 bit and the same applies for 64 BIT. For preliminary analysis do the following.

  1. Open command prompt and navigate to your apache installation bin folder such as cd "C:/Apache24/bin"

  2. Then run the following command to see if syntax is OK: httpd.exe -t

The response will tell you if the mentioned dll php5apache2_4.dll is missing in your PHP location. if this is the case then you have to download the specific compatible PHP version with apache. otherwise it will tell you that syntax is ok.

for more information please visit this link

https://danielarancibia.wordpress.com/2015/09/27/installing-apache-2-4-and-php-7-for-development-on-windows/

Solution 4

I was having the same problem:

Invalid LoadModule path \xe2\x80\x9cC:/WAMP/php/php5apache2_4.dll\xe2\x80\x9d.

Based on paulsm4 suggestion above, I deleted the quotes in the directive LoadModule php5_module and replaced with simple quotes:

LoadModule php5_module "C:/WAMP/php/php5apache2_4.dll"

This solved it for me.

Solution 5

I had a similar error du to a simple cut and paste error from an older httpd.conf file where I had

LoadModule php5_module ...

instead of

LoadModule php7_module ...

Hope this may help someone else Googling this error message.

Share:
41,987
Giancarlo Abel Giulian
Author by

Giancarlo Abel Giulian

I am a brazilian developer. I know about Android, PHP, Java using Hibernate and Spring frameworks, Bootstrap, Javascript, AngularJS, jQuery, SaaS, Multitenancy and I always open to learn more about new things, stories, mainly with IT, programming, languages and entrepreneurship.

Updated on July 09, 2022

Comments

  • Giancarlo Abel Giulian
    Giancarlo Abel Giulian almost 2 years

    I am following this portuguese article to configure Apache and PHP:

    How Install And Configure The Development Environment in PHP - Part 2.

    I already set up the php.ini and httpd.conf files. Besides to php5apache2_4.dll is in the right directory, but when I restart the server show me the following error:

    httpd.exe: Syntax error on line 531 of D:/Apache24/conf/httpd.conf: Invalid LoadModule path \xe2\x80\xaa"D:/php-5.6.13/php5apache2_4.dll"

    Httpd.conf:

    LoadModule php5_module ‪"D:/php-5.6.13/php5apache2_4.dll"
    AddType application/x-httpd-php .php 
    PHPIniDir "D:/php-5.6.13/"
    

    EDIT

    I changed the Httpd.conf file.

    LoadModule php5_module ‪"../php-5.6.13/php5apache2_4.dll"
    AddType application/x-httpd-php .php 
    PHPIniDir "../php-5.6.13/"
    

    And now is returning me a new error:

    httpd.exe: Syntax error on line 531 of D:/Apache24/conf/httpd.conf: Cannot load ../php-5.6.13/php5apache2_4.dll into server: %1 n\xe3o \xe9 um aplicativo Win32 v\xe1lido.

    In English language: Not a valid Win32 application.

    In console:

    php -version
    PHP 5.6.13 (cli) (built: Sep  3 2015 15:14:40)
    Copyright (c) 1997-2015 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    
    httpd -version
    Server version: Apache/2.4.16 (Win64)
    Apache Lounge VC14 Server built:   Jul 22 2015 13:24:19
    
  • Matías Cánepa
    Matías Cánepa about 8 years
    "Also check that they are both compiled with the same version of Visual Studio (e.g. VC14)" YES!
  • Luuk
    Luuk over 2 years
    The php_module is used for PHP8.0, before it used to be phpX_module where X was equal to the version number of php, (like php7_module for PHP7). (# before PHP 8.0.0 the name of the module was php7_module)