2015-09-24 74 views
4

我在关注这个葡萄牙文章来配置Apache和PHP:Apache不从PHP加载模块

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

我已经设置了php.inihttpd.conf文件。除了能够php5apache2_4.dll是在正确的目录,但是当我重新启动服务器告诉我下面的错误:

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/" 

编辑

我更改了Httpd.conf文件。

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

现在正在返回我一个新的错误:

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.

在英语:不是有效的Win32应用程序。

在控制台:

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 
+3

您的语法*看起来*正确...但外观可能是骗人的。确保你在httpd.conf和php.ini中使用“simple double quotes”(“== ascii 34)* all * your modules entries。更多细节在这里:https://www.webmasterworld.com/forum92/ 3140.htm。替代建议:由于您的路径中没有任何空格,只需将双引号完全取出。 – paulsm4

+3

我解决了,谢谢(我改变了Apache的体系结构,我安装了Apache Win32最后 –

回答

2

我不得不尝试配置PHP7同样的问题,所以对任何人有麻烦:

可能会有一些问题。检查您的php和Apache版本是否兼容(64位x64或32位x86;请注意,从windows.php.net/download/下载64位PHP时,zip文件将被称为php...Win32...x64)。

还要检查它们是否都使用相同版本的Visual Studio(例如VC14)编译。这恰好是这里的问题:www.apachelounge.com/viewtopic.php?t=6596

在我的情况,我有问题paulsm4引用引号。我复制并粘贴了一个网站的代码,并注意到当我运行httpd -k start时,我的错误是httpd: Syntax error on line 62 of C:/Apache24/conf/httpd.conf: Invalid LoadModule path \x93c:/php7/php7apache2_4.dll\x94\x93\x94CP1252 encodings的幻想开盘和结束报价。消除这些或用普通引号替换它们解决了这个问题,然后Apache在PHP之后顺利运行。

别人遇到的另一个问题是试图使用NTS(非线程安全)PHP配置Apache。

php.net/manual/en/install.windows.apache2.php PHP的下载网站也提到了这一点。

+0

“_也检查它们是否都使用相同版本的Visual Studio(例如VC14)编译_”YES! –

1

删除httpd_uwamp.conf文件中的双引号对我而言都适用于UnWampPHP分配。(没有空间在我的任何路径名)

,如换

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

感谢费斯切拉亚伯Giulian为他的岗位;-)

1

我有同样的问题:

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

根据上面的paulsm4建议,我删除了指令LoadModule php5_module和rep中的引号带有简单的引号:

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

这解决了它对我来说。

0

变化

LoadModule php7_module "c:/php/php7apache2_4.dll" 

LoadModule php7_module /php/php7apache2_4.dll 

PHPIniDir "c:/php" 

PHPIniDir /php 

干得好。

0

无法将modules/php7apache2_4.dll加载到服务器中:指定的模块找不到。在设置Apache和php环境到本地计算机时,这是一个常见问题

我也遇到了同样的问题:解决问题的最佳方法是为apache服务器和php安装相同的VC级别,还要确保计算机中也安装了相同的VC++。

对我来说,我试着用VCl 4为apache24和PHP和还安装VC++ 2015年版这恰好是VCl 4

0

在我的情况,这是由于PHP7的下载类型:Non Thread Safe 只需下载Thread Safe版本和提取到C:\php7 (Default directory),然后尝试再次启动Apache服务。

希望这个帮助!