安装PhP后,Apache服务器无法运行

时间:2017-08-02 17:05:53

标签: php apache

[现在一切正常!] 我的解决方案:

我犯的第一个错误就是,我安装了一些随机的32位版本的PHP,以及一些随机的64位版本的Apache!之后,我刚刚下载了最新版本的PHP,并将其放在我的c:\ php文件夹中,然后从apachelounge网站(网站左侧的VC14类别)下载了最新版本的Apache的VC14版本。 。最后一个错误是,我从IIS继续运行W3SVC,所以我在服务下停止了那个(在windows中搜索services.msc)!是的,就是这样,现在都解决了!

所以,我有一个问题,我最近安装了Apache,并建立了一个有效的网络服务器! 这一切都很好,我的整个网站完美无瑕,完全可用! 但是,我的所有PHP脚本都不起作用,当在网站上加载一个时,apache只显示.php文件的完整源代码,而不是像html页面那样显示它!

所以,我注意到,我没有配置我的apache服务器的PHP! 我做了什么,是下载PHP,把它放在c:\ php,配置php.ini,所有这些工作,我知道因为在IIS 10中,我的网站与PHP完美搭配!

所以我安装了php,对于apache 2.4,VS11版本,同样适用于apache,(我这样做是因为最新版本的两个版本对我不起作用,我遇到了同样的问题)!

我一做完最​​后一步, 将这些行添加到我的httpd.conf(在我的apache文件夹中):

  

LoadModule php5_module" c:/php/php5apache2_4.dll"

     

AddHandler application / x-httpd-php .php

     

PHPIniDir" C:/ PHP的"

,当我想启动apache服务器时,它只是告诉我:

"请求的操作失败。" (当我在Apache-Monitor中选择我的服务器服务时,会发生这种情况,然后单击" start) (没有错误日志是从apache创建的,错误内部没有任何内容也没有日志文件夹(都在httpd.conf中配置)) 只有CMD给了我以下错误:

  

httpd:C:/Apache24/conf/httpd.conf的第533行语法错误:不能   将c:/php/php5apache2_4.dll加载到服务器:%1不是有效的Win32   应用

现在,只要我从httpd.conf中删除这3行,服务器就可以再次正常工作,可以启动,并且网站可用,除了所有的PHP页面都不起作用(当然)。 / p>

我听说过" libphp5.so",我不知道它是否与我的apache服务器有关,也不是我的整个问题,但我不知道,至少我在我的" C:\ Apache24"中没有这样的东西。文件夹!

可能重要的一些信息: 所有这些都是从普通PC(Windows 10)(64位),32GB RAM,8x4GHz处理器等托管。!

是的,我已将c:\ php添加到我的Path环境变量中! (如前所述,如果我不添加这些行,所有工作正常,根据谷歌的结果,这是必要的,以使PHP与apache一起工作)!

如果有人知道该怎么做,id会很高兴,因为我不想继续使用IIS(它很好但是......),因为我可以用Apache做更多的事情!

2 个答案:

答案 0 :(得分:0)

仔细阅读本手册。重新安装apache并使用PHP 5.6。除非您准备好解决PHP 7.1附带的问题。注意不要在apache.org二进制文件中使用VC11 +版本的PHP 。这取自PHP.net

  

<强>的Apache :   请使用Apache Lounge提供的Apache版本。他们   为x86和x64提供Apache的VC11,VC14和VC15版本。我们用   他们的二进制文件来构建Apache SAPI。

     

如果您使用PHP作为apache.org上的Apache构建模块(不是   建议)你需要使用PHP编译的旧VC6版本   使用传统的Visual Studio 6编译器。不要使用VC11 +版本   PHP与apache.org二进制文件。

     

使用Apache,您必须使用PHP的线程安全(TS)版本。

     

VC11,VC14&amp; VC15更新版本的PHP是用VC11构建的,   VC14或VC15(分别为Visual Studio 2012,2015或2017编译器)   并包括性能和稳定性的改进。

     
      
  • VC11版本要求安装Visual Studio 2012 x86或x64的Visual C ++ Redistributable

  •   
  • VC14版本要求安装Visual Studio 2015 x86或x64的Visual C ++ Redistributable

  •   
  • VC15版本需要安装Visual Studio 2017 x64或x86的Visual C ++ Redistributable

  •   
     

TS和NTS TS指的是支持多线程的构建。 NTS指的是   单线程只构建。涉及TS二进制文件的用例   与作为模块加载的多线程SAPI和PHP的交互   一个Web服务器。对于NTS二进制文件,广泛的用例是交互   通过FastCGI协议使用Web服务器,使用no   多线程(也可以是CLI)。

来源:PHP.NET Manual

答案 1 :(得分:0)

确保Apache2和PHP二进制文件具有相同的内容:

  • Visual Studio C ++二进制兼容性版本 (Visual Studio C ++ 2015 = VC14,Visual Studio C ++ 2017 = VC15)
  • 系统体系结构:32bit(win32)/ 64bit(win64)

例如:

php-7.3.15RC1-Win32-VC15-x86

确保您拥有:

httpd-2.4.41-win32-VC15

为Apache下载Apache 2二进制文件的最佳位置是Apache Lounge (在 左上角 上,您可以控制VC版本):

https://www.apachelounge.com/download/VC15/

并且要下载PHP二进制文件,还请注意,对于Apache,您必须使用PHP的线程安全(TS)版本。去这里:

https://windows.php.net/qa/

不要忘记为php添加(系统变量)PATH, 以管理员身份打开cmd并输入:

setx path "%PATH%, C:\php73" /M