win10手动配置php开发环境教程

使用php开源软件这么长时间了,也是时候写一篇关于如何手动配置php开发环境的文章了,一开始使用的phpstudy,但是毕竟是别人配置的,我这个人不喜欢这样,直接用这类集成环境软件,省去了中间部分,但总感觉少了些什么,手动的会让你增长一些知识的。

# 目录

  • 工具准备
  • 下载安装包
  • 配置环境
  • 实战演练

# 工具准备

  • windows10一台

# 下载安装包

下载的安装包包括php-7.4,mysql8.0.21,nginx-1.19.3,选择适合你系统的版本进行下载,这里下载的都是最新版。

最好下载这种 Thread Safe的,里面有后面需要的php-cgi程序。

php源码下载地址

mysql8下载地址

nginx下载地址

# 配置环境

下载下来以后,首先对其进行解压缩,然后在一个磁盘建立一个专门的文件夹,例如wnmp,用来存放程序。

目录结构大致如下:

/*
+ wnmp
  - nginx-1.19.3
  - php-7.4
  - mysql-8.0.21
*/

# 配置nginx

这个简单,只需要把nginx放入环境变量即可。

环境变量全局都可以访问,分为用户的和系统的,在我的电脑->属性->高级系统设置->高级->环境变量

比如我这个是D:/soft/wnmp/nginx,放入PATH里面即可。

配置nginx

配置好了以后,打开命令行,输入nginx -v即可打印出版本号,说明安装成功!

配置nginx

# 配置php

这个也和nginx类似,把php目录放入环境变量里面。

如何保存打印,显示版本号即安装成功。

配置php

接下来,就是配置文件,把目录下的php.ini-development复制一份,保存为php.ini,然后把部分配置修改一下,例如扩展文件路径。

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "D:/soft/wnmp/php/ext"

开启部分扩展,例如curl,fileinfo,gd2,mbstring,mysqli,openssl,pdo_mysql,只需要把前面的分号去掉即可开启。

;extension=bz2
extension=curl
extension=fileinfo
extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

# nginx+php实例

接下来写一个简单的php程序,验证一下是否可以使用。

# nginx配置一个php站点

  • 新建一个nginx配置

nginx.conf里面的http里面新增include ../site/*.conf;

  • 编写conf文件
# php test site
server {  
  listen   8080;
  server_name  localhost;
  root   D:/soft/wnmp/php-7.4/test;
  index  index.php index.html index.htm;
  access_log "D:/soft/wnmp/nginx/logs/phptest-access.log";
  error_log "D:/soft/wnmp/nginx/logs/phptest-error.log";
  location ~ .*\.(php|php5)?$ {
    index index.php;
    fastcgi_pass   127.0.0.1:9000;  
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  D:/soft/wnmp/php-7.4/test$fastcgi_script_name;  
    include fastcgi_params;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    expires  30d;
  }
  location ~ .*\.(js|css)?$ {
    expires  1h;
  }
}

# 编写php文件

<?php
    echo phpinfo();
?>

# 预览站点

  • 重启nginx
nginx -t
nginx -s reload
  • 编写php-cgi脚本
set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "php-cgi -b 127.0.0.1:9000",0
  • 最后打开游览器http://localhost:8080

预览站点

看到这里就算成功配置了一个php站点,但是还不够,如果你想创建动态站点,就必须要有一个数据库来存储数据。

接下来我们继续配置mysql数据库。

# 配置mysql

使用管理员打开命令行,这里我们使用官方推荐的方法 (opens new window)

  • 将主存档解压缩到所需的安装目录
  • 创建一个选项配置文件
  • 初始化MySQL
  • 启动MySQL服务器

# 解压目录

解压目录至wnmp文件夹。

# 配置文件

在主目录下面新建一个配置文件my.ini

输入一下内容,包括地址端口,数据存储路径,以及字符编码等内容。

[mysqld]
port=3306
basedir=D://soft/wnmp/mysql
datadir=D://soft/wnmp/mysql/data
max_connections=200
max_connect_errors=10
default-storage-engine=INNODB
#mysql_native_password
default_authentication_plugin=mysql_native_password

[client]
port=3306

# 初始化MySQL

在命令行输入--initialize --console

cd D:/soft/wnmp/mysql8.0.21/bin
#输入
mysqld --initialize --console

接着会打印出一些内容,其中找到A temporary password is generated后面跟的就是初始化密码,运行以下命令进入服务器,修改管理员密码。

mysql -u root -p
Enter password: (enter the random root password here)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

# 启动MySQL服务器

net start mysqld

加入环境变量,打印版本号。

启动MySQL服务器

到这里,基本上的都安装完成了,现在进行一个实战训练。

写一个基本的连接mysql的php程序。

# php连接mysql案例

  • 新建一个mysql用户和数据库,用户名称为test,密码为123456

  • 新建一个php文件,写入以下内容;

<?php
    $serverName = 'localhost';
    $userName = 'test';
    $password = '123456';

    $conn = new mysqli($serverName, $userName, $password);

    if ($conn ->connect_error) {
        die('连接失败:'.$conn ->connect_error);
    }
    echo '连接成功!';
?>
  • 打开游览器预览

打开地址http://localhost:8080/mysql.php

如果页面显示连接成功表示试验成功!

打开游览器预览

# 写在最后

其实整个过程配置下来觉得也没有那么麻烦,那么累,只要你坚持一步一步下去,就会配置成功的,加油!接下来,你就可以尽情的畅游在php的世界之中了,可以按照各种php开源程序,酷cool!