在Windows上的PHP+MySQL环境搭建与调试
在Windows上的PHP+MySQL环境搭建与调试
NianSir's BLOG

在Windows上的PHP+MySQL环境搭建与调试

NianSir
2024-10-11 / 0 评论 / 76 阅读

前言

近期由于需要完成一项数据库课程设计,无奈学校给出的大纲案例过于经典(图书馆借阅系统、学生信息管理系统...)对于这样过于经典和老套的项目完全提不起兴趣,那寻思就自己选一个项目吧;做高级的东西水平不够,即便现在是AI时代,选题AI应用是一个很不错的方向,如果只是制作一个壳子,那数据库依赖似乎不够高,似乎有点偏离初衷了;如果做大型数据分析处理那水平也就不够用了(毕竟短期还是要拿出成果的)于是思来想去,最终把目标定在了PHP+MySQL制作一个在线视频课程学习平台。
说到PHP+MySQL这套组合我可实在是太喜欢了,主打一个方便快捷,即便是在当今的2024年,这套技术栈依然广受欢迎,喜欢折腾建站的朋友们一定非常清楚这一点(当然未来就不好说了,毕竟现在Go、Node.js等越来越受欢迎了),我也一样,在早期接触建站时为了快捷大多数非专业玩家都会选择使用一些集成面板等平台来可视化管理服务器(大多数Linux上的)这就导致很多朋友在面对在Windows上开发与调试严重缺乏经验,还好这不算什么大问题,毕竟人都是在不断学习的,俺也一样,那么现在就讲讲在配置Windows上的PHP+MySQL上的步骤和经验吧~

下载环境/依赖

本套开发调试环境是WEB的PHP+MySQL,那么PHP和MySQL肯定是必须要下载的,除此之外还需要安装一个网页服务器,全球综合最受欢迎的是Apache,当然除此之外还可以选择NGINX等提供web服务,此处我们选择Apache作为web服务器来配置,相关链接如下:
Apache下载(使用Apache Lounge):https://www.apachelounge.com/download/
Apache下载

PHP7.2下载(windows专属php):https://windows.php.net/download/
php下载安装

MySQL下载(分两种,社区版8.0以上可以使用安装器安装,但是低版本似乎只有二进制安装了):https://downloads.mysql.com/archives/community/
mysql下载

VC环境下载(Apache依赖VC环境部分windows用户可能系统并没有安装,可以先装一下以便后期的测试):

现在我们得到了除了VC之外的三个环境包zip文件,httpd是Apache、mysql、php,我们分别解压在不同的目录中,注意绝对路径中不要包含中文和空格以防其他的错误。接下来就是分别配置和启动啦!

配置&启用MySQL

我使用的版本是MySQL 5.7.44,解压压缩包后在根目录下创建一个 my.ini 文件:

创建my.ini配置文件

填入以下内容:

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
# 设置3306端口
port=3306
character_set_server=utf8
# 解压目录
basedir=D:\xxx\mysql-5.7.44-winx64
# 解压目录下data目录
datadir=D:\xxx\mysql-5.7.44-winx64\data
default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]
D:\xxx\mysql-5.7.44-winx64\bin\mysqld.exe

写好ini文件后保存,在系统环境变量中配置一下mysql的bin目录路径并保存(系统环境变量如何配置此处不赘述),接下来右键Windows徽标(开始按钮)开启一个Windows PowerShell(管理员),注意一定是要管理员权限的Shell!!!这里不用CMD管理员是因为部分Windows管理员CMD无法切换目录导致操作不便,而且powershell更贴近Linux操作风格,使用会更习惯。接下来我们使用管理员shell进行操作:

我们使用cd进入mysql安装目录(注意powershell需要使用双引号包裹路径),使用 mysql -install 安装mysql,输出成功信息后,使用 mysql --initialize --console 初始化mysql,成功后会在最后输出root用户默认密码(注意最后一整串字符串都是密码包括“;”等特殊符号!!!)
mysql配置1

接着我们可以启动mysql服务了!,使用 net start mysql 启动服务,启动成功后通过 mysql -u root -p 登陆root用户可以看到登录成功:

启动mysql

这里再提一嘴我在折腾时候遇到的问题吧,由于之前学java是时候使用过mysql,但已经过去一年多了早忘记了mysql密码了,按照网上的修改密码方法好像没折腾成功反而导致mysql服务异常了,后来干脆直接删掉重装,最后解决,所以如果你也曾经安装了mysql并且忘记了密码,并且没啥重要数据推荐也是直接重装就行。

安装&配置Apache+PHP

这里为什么会把Apache和PHP配置放一起,原因很简单,因为Apache的配置需要与PHP关联,所以就放一起说咯;
先进入PHP安装目录,复制一份 php.ini-development 文件,改名为 php.ini 保存在根目录,打开编辑:

[PHP]
engine = On                             # 启动引擎
short_open_tag = Off                    # 关闭短标签
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL            # 错误报告开启全部提示
post_max_size = 2048M            # POST 最大文件大小
default_mimetype = "text/html"
default_charset = "UTF-8"        # 默认文件编码
extension_dir = "./"
extension_dir = "D:/PHPEnv/PHP74/ext"   # PHP 插件路径
enable_dl = Off
upload_max_filesize = 2048M        # 上传最大文件大小
max_file_uploads = 20

#启用常见扩展(包括项目需要是扩展记得也开启,一般默认ini已经有了但是默认是被注释的,删掉前面的“;”符号即可启用)
extension=curl
extension=fileinfo
extension=gd2
extension=mbstring
extension=mysqli
extension=pdo_mysql
extension=sockets

[Date]
date.timezone = Asia/Shanghai          # 默认时区设置(中国上海)

[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off

[mbstring]
mbstring.language = Chinese           # 检查字数语言(中文)

这里只是列出了一些常用需要关注的地方,完整的INI文件有大量可配置数据,这些有需要时再去另外了解即可,php配置文件完成后进入Apache安装目录进行Apache配置,进入Apache安装目录下的conf目录下打开httpd.conf文件,同样我们只关注重点需要配置修改的项目:

# Apache24.conf file

# General Settings
Define SRVROOT "D:/PHPEnv/Apache24"  # 定义Apache 根目录
ServerRoot "${SRVROOT}"
ServerName localhost # 服务名
Define ENABLE_TLS13 "Yes" 
Listen 80 # 监听80端口,如果被占用可以使用 8080 端口

# PHP74 Config
# PHP 8.0 修改为 php8apache2_4.dll
LoadModule php_module "D:/PHPEnv/PHP74/php7apache2_4.dll" # 定义 PHP7 模块路径
AddType Application/x-httpd-php .php # 添加 PHP格式
PHPIniDir "D:/PHPEnv/PHP74" #定义 PHP 根目录

<Directory /> # 具体配置含义参考其他文章
    AllowOverride all
    Options Indexes FollowSymLinks
    Require all granted
</Directory>

<Directory "H:/WWW"> # 定义网站根目录
    AllowOverride all
    Options Indexes FollowSymLinks
    Require all granted
</Directory>

<IfModule dir_module> #默认解析执行的页面
    DirectoryIndex index.html index.php index.htm
</IfModule>

<Files ".ht*">
    Require all granted
</Files>


# Virtual hosts
Include conf/extra/httpd-vhosts.conf # 启用虚拟主机文件,当然如果不是同时调试多站点其实也可以不需要这个

既然说到了虚拟主机配置,那就这里也贴一下虚拟主机配置吧(在Apache安装目录下的/extra/httpd-vhosts.conf):

<VirtualHost *:80>
  ServerAdmin localhost
  DocumentRoot "H:/WWW"
  ServerName localhost
  <Directory "H:/WWW">
    Options Indexes FollowSymLinks Includes ExecCGI
  </Directory>
</VirtualHost>

配置完成后使用shell进入Apache的bin目录下,如果没有配置环境变量可以直接使用 ./httpd -t,显示 Syntax OK 说明配置无误,接着就可以安装启动Apache服务了,使用 ./httpd -k install -n Apache24 进行安 装,-n 后面跟服务名(可以自己定义),不填默认为 Apache2.4,成功后使用 net start Apache24 启动服务:

Apache配置启动

接下来只需要在默认目录创建一个php文件内写入 <?php phpinfo(); ?> 后访问这个页面,出现phpinfo页面就大功告成啦!

安装配置成功

6

评论 (0)

取消