一、Apache
根据以下php下载时的提示,去下载建议的apache,这里选择第三方安装包Apache Lounge。
下载Apache解压版,将解压后的文件夹放在你想要安装的路径下。
修改配置文件:
Apache默认存在路径:“c:\Apache24” 下(版本号可能不同)。如果跟你的安装路径不同,你需要打开Apach\conf\httpd.conf配置文件,将其中所有前面没有被"#"注释的"c:\Apache24"、"c:\Apache24\htdocs"和"c:\Apache24\cgi-bin\"改成对应的路径。
指定IP和端口:在httpd.conf找到"ServerName www.example.com:80",将前面的注释去掉,将"www.example.com"修改为"localhost"。如果你要修改端口,将这里"80”和前面“Listen:80”中的80一起修改。
(可选)添加系统变量:将"Apache的安装路径\bin"添加到Path中。
验证安装是否成功:运行Apache的启动httpd.exe。在浏览器上输入localhost:80,如果不是无法访问那么Apache的配置便完成了。
以下操作可选:
运行cmd,进入Apache24下的bin目录,为了检查httpd.conf有无问题,我们输入httpd.exe -t,如果正常的话只会显示一行Syntax OK
在控制台中运行httpd.exe -k install将Apache安装成windows服务,这样Apache以后将自动运行。
5. 运行httpd.exe -k start启动服务,如果没有错误提示,在浏览器中输入http://127.0.0.1或者http://localhost将显示如下页面:
二、PHP
PHP的官方网站为:http://php.net
进入PHP下载地址http://windows.php.net/download下载最新线程安全版PHP zip压缩包,解压缩后放在想要安装的路径下。注意:下载的PHP VC版本不能比前面安装的vc redist版高。
在PHP windows版本下载页面的左边有关于版本选择的说明文字,一定要仔细阅读。这段文字明确建议我们Apache应选择Lounge版本,同时PHP应使用线程安全(TS)版本。
把解压后的php拷贝到要安装的目标位置,进入PHP安装目录,复制一份php.ini-development改名为php.ini放到安装路径下,打开找到"extension_dir",去掉注释符,将值改为"PHP安装路径\ext"
在Apache中加载PHP
打开Apache的配置文件conf\httpd.conf,找到LoadModule区域,在其后加入:
LoadModule php7_module "PHP安装路径\php7apache2_4.dll" # 在Apache中以module的方式加载PHP,“php7_module”中的“7”要和PHP的版本对应;此外,不同的PHP版本“php7apache2_4.dll”可能不同(查看php安装目录下该拓展名)。
PHPIniDir "PHP安装路径\php.ini" #告诉Apache PHP的安装路径
phpinfo查看如下php.ini路径没有,就是没配置PHPIniDir "PHP安装路径\php.ini"
定义执行PHP模块的文件
查找 AddType application/x-gzip .gz .tgz,在其下一行添加代码:AddType application/x-httpd-php .php .html:声明.php和.html的文件能执行PHP程序。
测试:在 Apache安装路径\htdocs下新建文件:phpinfo.php,里面编辑:<?php phpinfo(); ?>, 启动Apache, 在浏览器输入:localhost:80/phpinfo.php。
三、MySQL
配置mysql:
在PHP中加载连接MySQL的程序集:在php.ini extension板块中增加一行extension=php_mysqli.dll。
说明:不同的PHP版本可能提供不同的连接mysq的程序集,去ext文件夹下看看PHP提供的是什么这里就写什么。不同的程序集可能在连接数据库的时候使用的函数也不一样。
测试:在test.php中编辑:<?php $mysqli = mysqli_connect("localhost","root","pwd") or die("cannt connet"); ?>,启动数据库,重启Apache,在浏览器端查看,如果没有错误信息便配置正确了。
运行test.php出现的问题:
1.Call to undefined function mysqli_connect()....
主要就是上面php.ini配置文件没指定加载位置
2.出现下面提示
说明由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。通过phpinfo查看安装的php所支持的验证插件:
解决:要么更换支持新的密码验证插件的php版本,要么修改mysql配置:
在my.ini中加入配置:
删除data文件夹重新初始化mysql即可