我正在阅读这篇葡萄牙文章来配置Apache和PHP:
How Install And Configure The Development Environment in PHP - Part 2
我已经设置了 php.ini 和 httpd.conf 文件。除了 php5apache2_4.dll 在正确的目录中,但是当我重新启动服务器时显示以下错误:
httpd.exe:D:/Apache24/conf/httpd.conf的第531行语法错误: 无效的LoadModule路径\ 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:D:/Apache24/conf/httpd.conf的第531行语法错误: 无法将../php-5.6.13/php5apache2_4.dll加载到服务器:%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
答案 0 :(得分:6)
我在尝试配置php7时遇到了同样的问题,所以对于其他遇到问题的人来说:
可能存在一些问题。检查你的php和Apache版本是否兼容(64位x64
或32位x86
;注意从windows.php.net/download/下载64位PHP时,请输入邮件文件将被称为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
和\x94
是CP1252 encodings。消除这些或用常规引号替换它们解决了问题,然后Apache在PHP之后顺利运行。
其他人遇到的另一个问题是尝试使用NTS(非线程安全)PHP配置Apache。
php.net/manual/en/install.windows.apache2.php PHP下载网站也提出了这一点。
答案 1 :(得分:3)
从httpd_uwamp.conf
和UnWamp
发行版中为我工作的PHP
文件中删除双引号。 (我的任何路径名都没有空格)
例如更改
LoadModule "{PHPMODULENAME} {PHPPATH}/{PHPAPACHE2FILE}"
至LoadModule {PHPMODULENAME} {PHPPATH}/{PHPAPACHE2FILE}
感谢Giancarlo Abel Giulian的职位; - )
答案 2 :(得分:1)
我遇到了同样的问题:
无效的LoadModule路径\ xe2 \ x80 \ x9cC:/WAMP/php/php5apache2_4.dll \ xe2 \ x80 \ x9d。
基于上面的paulsm4建议,我删除了指令LoadModule php5_module中的引号,并替换为简单的引号:
LoadModule php5_module "C:/WAMP/php/php5apache2_4.dll"
这解决了我。
答案 3 :(得分:0)
更改
LoadModule php7_module "c:/php/php7apache2_4.dll"
到
LoadModule php7_module /php/php7apache2_4.dll
和
PHPIniDir "c:/php"
到
PHPIniDir /php
干得好。
答案 4 :(得分:0)
无法将modules / php7apache2_4.dll加载到服务器中:找不到指定的模块。这是将apache和php环境设置到本地计算机时的常见问题
我也面临同样的问题:解决问题的最佳方法是为apache服务器和php安装相同的VC级别,并确保计算机中也安装了相同的VC ++。
对我来说,我尝试用VC14 for apache24和php,还安装了VC ++ 2015版,恰好是VC14
答案 5 :(得分:0)
就我而言,这是由于下载的PHP7类型: bground = ListboxName[index, 'bg']
只需下载 bground = ListboxName(index)['bg']
版本并解压缩到 Non Thread Safe
,然后再次尝试启动Apache服务。
希望这有帮助!!!
答案 6 :(得分:0)
我有一个类似的错误,因为我有一个较旧的httpd.conf文件的简单剪切和粘贴错误
LoadModule php5_module ...
而不是
LoadModule php7_module ...
希望这可以帮助其他人搜索此错误消息。
答案 7 :(得分:0)
我很难摆脱这个错误,在Apache和PHP都安装了x86版本(不是64)之后,最终解决了。
还避免了简单的文件夹名称,例如Apache2.4或php,而是使用诸如php_7.1.21_vc14_x86_ts
和Apache_2.4.34_vc14_x86
之类的详细名称来通过查看文件夹名称本身来捕获不匹配,而不是不断出现奇怪的错误。
答案 8 :(得分:0)
我可以理解收到该错误的感觉。经过数小时的研究,我发现只是删除双引号就可以了。无需删除所有三行中的双引号。从出现错误的行中删除它们。
之前
PHPIniDir “C:/PHP”
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/PHP/php7apache2_4.dll"
之后
PHPIniDir “C:/PHP”
AddHandler application/x-httpd-php .php
LoadModule php7_module C:/PHP/php7apache2_4.dll
对我有用。我认为,除非您以错误的方式安装了PHP,否则上两行不会给您错误。
进行测试(如果您不知道)
打开cmd(无需以管理员身份打开,但是可以)
将bin文件夹导航到c:/ apache / bin(或任何文件夹)
输入httpd -t 它应该显示语法正常 如果不是这样,那么您需要按照显示错误的方法进行操作。 尽力而为。
相当糟糕的答复?我知道,这是我对任何疑问的第一个答复。
答案 9 :(得分:0)
您必须确保您使用的是与Apache兼容的PHP版本。这样,如果您运行的是32位apache,请确保您使用的是PHP 32位,并且64位也同样适用。为了进行初步分析,请执行以下操作。
打开命令提示符,然后导航到apache安装bin文件夹,例如 cd“ C:/ Apache24 / bin”
然后运行以下命令以查看语法是否正常 httpd.ex -t
响应将告诉您您的PHP位置是否缺少提到的dll php5apache2_4.dll。如果是这种情况,则必须使用apache下载特定的兼容PHP版本。否则,它将告诉您语法可以。
有关更多信息,请访问此链接
答案 10 :(得分:0)
我有同样的错误。我唯一改变的是 php_module
到 php7_module
之前
PHPIniDir "c:/php"
LoadModule **php_module** "c:/php/php7apache2_4.dll"
AddType application/x-httpd-php .php
之后
PHPIniDir "c:/php"
LoadModule **php7_module** "c:/php/php7apache2_4.dll"
AddType application/x-httpd-php .php