配置PHP环境:wamp

 

目录
步骤  目标
1 需要用到的包
2 安装并配置各个服务包
3 可能遇到的问题

 

需要知道的一些概念: 

运行php需要一定的环境用来做解析,apache用来启动一个服务,需要关联到php让php语言做文件解析,php关联到mysql做数据交互。

php环境有:

  1. wamp
    1. windows+apache+mysql+php
    2. 集成包:phpStudy wampserver apmserver xampp  
  2. lamp
    1. Linux+apache+mysql+php  

这里说的如何自己去配置一个PHP环境出来。

需要用到的包

PHP :
版本&下载:php-7.4.4-Win32-vc15-x86.zip
官网:https://windows.php.net/downloads/releases/archives/

Apache :
版本&下载:Apache 2.4.43 x64
官网:https://www.apachehaus.com/cgi-bin/download.plx

win安装包下载 :
本人未使用
地址 :http://archive.apache.org/dist/httpd/binaries/win32/


Mysql :mysql-8.0.20-winx64
版本&下载:https://dev.mysql.com/downloads/file/?id=494993




安装配置各个服务
在你想做站点的文件夹下,做一个目录结构为:

 

Apache部分安装与配置


安装Apache:

  
解压缩你下载的apache包,把包里的所有文件复制到你的Apache目录下。如果你用的msi安装包双击安装即可。
配置Apache:
  
打开httpd.conf(D:\website\Apache\conf)文件做如下修改:

找到以下key:
ServerName 改为:
ServerName localhost:80 //如果80被占用则换个端口
DirectoryIndex 改为
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

AllowOverride none 改为:

<Directory />
    # AllowOverride none
    # Require all denied
    AllowOverride All 
    Require all granted
</Directory>

 

Define SRVROOT 和 ServerRoot 改为:
1 Define SRVROOT "D:/website/Apache"
2 ServerRoot "D:/website/Apache"

 

# DocumentRoot "${SRVROOT}/htdocs" 和 # <Directory "${SRVROOT}/htdocs"> 改为:
1 DocumentRoot "D:/website/www"
2 <Directory "D:/website/www">

 


在文件的最后加入php关联代码(这里php.ini需要去php目录下做个更改):
# php7 support
LoadModule php7_module "D:/website/php/php7apache2_4.dll" 
AddType application/x-httpd-php .php .html .htm
#configure the path to php.ini
PHPIniDir "D:/website/php"

PHP安装与配置


安装php:
  
解压缩你的php包到你的php目录下(D:\website\php)
  
配置php:
  
进入你的php文件目录,找到并复制文件php.ini-development成php.ini(php配置文件)
  用编辑器打开该文件,取消下面的注释:
  
 1 ;extension_dir = "ext"//在Windows下有些配置中,需要将ext改成绝对路径,"D:\\website\\php\\ext"
 2 ;extension=curl
 3 ;extension=gd2
 4 ;extension=gettext
 5 ;extension=mbstring
 6 ;extension=mysqli
 7 ;extension=pdo_mysql
 8 ;extension=pdo_sqlite
 9 ;extension=sockets
10 ;extension=exif 

测试是否成功:打开你的www站点下的index.html 在 body 中加入:

<?php
     phpinfo();
?>

启动apache(打开apache中的bin中的httpd.exe)之后,访问 localhost 出来php的信息页面就Ok 了。

如果你在运行中碰到了PHP Warning: ‘vcruntime140.dll’ 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0:

下载并安装:Visual Studio 2015、2017 和 2019

MySQL安装与配置

菜鸟教程详细基本步骤

 

 

 

 

 

 

 

 

 


 

可能遇到的问题:

问题1:Cannot load php7apache2_4.dll into server:

最可能的原因是:
  1 Apache与PHP版本不一致
    解决方案(x64==64位,x86==32位):
    cd 进入Apache的bin目录使用命令httpd -version 来查看Apache的版本,如果你是32位就要用32位php版本
    cd 进入PHP安装目录 使用命令php -version 来查看php的版本

  2 php 版本内兼容问题
    第一个方案实践的时候可能出现查不到 php的版本提示你一个警告,这个时候需要做以下操作:
    打开https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads下载最新对应你电脑位数的vc++版本

    64位下载地址

 

 

问题2:: AH00436: No installed service named"Apache2.4"

 

尝试安装apache,用管理员身份运行cmd,cd到apache的bin目录,输入命令:httpd.exe -k install.结果如下

Installing the 'Apache2.4' service

The 'Apache2.4' service is successfullyinstalled.

Testing httpd.conf....

Errors reported here must be corrected beforethe service can be started.

 再次尝试启动apache,输入命令:httpd.exe-k start(或者直接点击bin中的httpd.exe);解决ok。

 

 

问题3:具体的apache的从下载到命令型安装配置过程:

参考这篇文章:Apache Windows下Apache安装步骤

 

 

问题4:安装了最新版的MySQL数据库,结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的。

   

在网上查的是,出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。
解决问题方法有两种,一种是升级navicat驱动;一种是把mysql用户登录密码加密规则还原成mysql_native_password。
我常用的是第二种方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密规则 
 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用户的密码 
 
FLUSH PRIVILEGES; #刷新权限
  • 'root' 为你自己定义的用户名
  • 'localhost' 指的是用户开放的IP,可以是'localhost'(仅本机访问,相当于127.0.0.1),可以是具体的'*.*.*.*'(具体某一IP),也可以是 '%' (所有IP均可访问)
  • 'password' 是你想使用的用户密码
 

 

 

 

 

 

 

 


  




 

posted @ 2020-04-29 16:31  AJbing  阅读(426)  评论(0)    收藏  举报