每个版本的php是与固定版本的Apache是有配套关系的,比如php7,支持的是Apache2.4版本,php5.6支持的是Apache2.2,具体所下载的php需要哪个版本的Apache,可以查看php目录下的php*apache*.dll文件,比如php7apache2_4.dll,说明所下php为7,需要的Apache版本为2.4,
如题所言,安装PHP7,则下载Apache2.4
1.Apache 的下载地址: 版本:Apache 2.4.32 Win64 (根据自己的环境 我的是64位) https://www.apachelounge.com/download/
下载下来对应得文件名为:httpd-2.4.32-Win64-VC15
下载过程可以参照:https://www.cnblogs.com/convincee/p/6636760.html 他人博客
1.下载下来后将里面的Apache24 文件放到C盘根目录下,这个看个人习惯(放一起也行),我为了省事,所以就放C盘
2.用记事本打开C:\Apache\conf\httpd.conf文件,找到 ServerRoot "C:/Apache24" (Apache24放的目录 ,前面有#号的需要去掉)
找到 Listen ,并将Listen 8081改为要设置的端口,-- 我设置的8081端口
找到 ServerName 改为 ServerName localhost:8081 --将#去掉
找到 DocumentRoot "c:/Apache24/htdocs" --改为Apache24放的目录
<Directory "c:/Apache24/htdocs">
3.打开文件夹 C:\Apache24\bin 地址栏输入cmd ,输入 httpd -k install 回车安装apache服务(卸载服务用httpd -k uninstall)。
4.双击C:\Apache\bin\ApacheMonitor.exe,打 开Apache控制台。点击start后,输入http://localhost,出现以下页面说明安装成功
2.PHP下载地址: 版本:PHP 7.2 (7.2.3) https://windows.php.net/download
说起PHP的下载,因为我是需要配合Apache用,所以我下载错了版本,搞得一头雾水,应该是Windows系统是32位还是64位选择对应 Thread Safe版本 ,下了这个版本 里面的包含php7apache2_4.dll这个文件才对,可参照这个链接下载: https://jingyan.baidu.com/article/066074d623d802c3c21cb087.html
我下载下来的文件是:php-7.2.3-Win32-VC15-x64 我的存放目录是D:\php\php-7.2.3-Win32-VC15-x64
1. D:\PHP\php-7.2.3-Win32-VC15-x64 复制一份 php.ini-production 将复制后的文件重命名为 php.ini
2. 用记事本打开 D:\PHP\php-7.2.3-Win32-VC15-x64\php.ini 搜索extension_dir,将extension_dir="ext"修改为 extension_dir = "D:/PHP/php-7.2.3-Win32-VC15-x64/ext" ,并去掉前面的';'分号 ( 根据自己的路径来选)
3.配置环境变量: 我的电脑(win10)右键 属性--》 高级--》环境变量--》系统变量里面找Path
编辑 : 变量值改为: D:\PHP\php-7.2.3-Win32-VC15-x64;D:\PHP\php-7.2.3-Win32-VC15-x64\ext; --一定是自己的php放的目录哈!
3.在apache里面配置PHP: 用记事本 打开C:/Apache24/conf/httpd.conf,在最后面追加以下:
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html .htm
LoadModule php7_module D:/PHP/php-7.2.3-Win32-VC15-x64/php7apache2_4.dll
PHPIniDir "D:/PHP/php-7.2.3-Win32-VC15-x64"
涉及到路径的一定要找对路径,我的PHP在D盘下,根据自己的路径修改 LoadModule 和 PHPIniDir 的路径
重启下apache的服务器,如果有问题肯定是增加的路径不对,我就遇到过,路径不对,服务会failed
在 C:\Apache24\htdocs 目录下新建一个 phpinfo.php 文件里面写
<?php
phpinfo();
?>