[英]Apache Server Not Working After Installing PhP
[现在一切正常!] 我的解决方案:
我犯的第一个错误很简单,我安装了一些随机的 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 应用程序/x-httpd-php .php
PHPIniDir "C:/php"
,当我想启动 apache 服务器时,它只是告诉我:
“请求的操作失败。” (当我在 Apache-Monitor 中选择我的服务器的服务并单击“开始”时会发生这种情况(没有从 apache 创建错误日志,错误和日志文件夹中没有任何内容(均在 httpd.conf 中配置))只有 CMD 给了我以下错误:
httpd:C:/Apache24/conf/httpd.conf 的第 533 行语法错误:无法将 c:/php/php5apache2_4.dll 加载到服务器:%1 不是有效的 Win32 应用程序。
现在,只要我从我的 httpd.conf 中删除这 3 行,服务器就会再次正常工作,可以启动,并且网站可以使用,除了所有 php 页面都不起作用(当然)。
我听说了一些关于“libphp5.so”的消息,我不知道它是否与我的 apache 服务器或我的整个问题有关,但我不知道,至少我的“C: \\Apache24”文件夹!
一些可能很重要的信息:所有这些都是从一台普通 PC (Windows 10)(64 位)、32GB RAM、8x4GHz 处理器等托管的!
是的,我已将 c:\\php 添加到我的 Path 环境变量中! (如前所述,如果我不添加这些行,一切都在工作,根据谷歌的结果,这是让 php 与 apache 一起工作所必需的)!
如果有人知道该怎么做,我会很高兴,因为我不想继续使用 IIS(它很好但是......),因为我可以用 Apache 做更多的事情!
仔细阅读说明书。 重新安装 apache 并使用 PHP 5.6。 除非您准备好解决 PHP 7.1 带来的问题。 注意不要将 VC11+ 版本的 PHP 与 apache.org 二进制文件一起使用。 这是取自 PHP.net
Apache :请使用 Apache Lounge 提供的 Apache 构建。 他们为 x86 和 x64 提供 Apache 的 VC11、VC14 和 VC15 构建。 我们使用他们的二进制文件来构建 Apache SAPI。
如果您将 PHP 作为模块与来自 apache.org 的 Apache 构建一起使用(不推荐),您需要使用旧版 Visual Studio 6 编译器编译的旧版 VC6 版本的 PHP。 不要将 VC11+ 版本的 PHP 与 apache.org 二进制文件一起使用。
对于 Apache,您必须使用 PHP 的线程安全 (TS) 版本。
VC11、VC14 和 VC15 较新版本的 PHP 是使用 VC11、VC14 或 VC15(分别是 Visual Studio 2012、2015 或 2017 编译器)构建的,并且包括性能和稳定性方面的改进。
VC11 版本需要安装 Visual C++ Redistributable for Visual Studio 2012 x86 或 x64
VC14 版本需要安装 Visual C++ Redistributable for Visual Studio 2015 x86 或 x64
VC15 版本需要安装 Visual C++ Redistributable for Visual Studio 2017 x64 或 x86
TS 和 NTS TS 是指支持多线程的构建。 NTS 是指仅单线程构建。 TS 二进制文件的用例涉及与作为模块加载到 Web 服务器的多线程 SAPI 和 PHP 的交互。 对于 NTS 二进制文件,广泛的用例是通过 FastCGI 协议与 Web 服务器交互,不使用多线程(但也使用例如 CLI)。
来源: PHP.NET 手册
确保 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
下载适用于 Windows 的 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.