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

目录

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

工具准备

  • windows10一台

下载安装包

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

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

php源码下载地址
php源码下载地址
mysql8下载地址
mysql8下载地址
nginx下载地址
nginx下载地址

配置环境

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

目录结构大致如下:

1
2
3
4
5
6
/*
+ wnmp
- nginx-1.19.3
- php-7.4
- mysql-8.0.21
*/

配置nginx

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

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

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

配置nginx
配置nginx

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

配置nginx
配置nginx

配置php

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

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

配置php
配置php

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

1
2
3
4
5
; 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,只需要把前面的分号去掉即可开启。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
;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文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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文件

1
2
3
<?php
echo phpinfo();
?>

预览站点

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

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

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

配置mysql

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

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

解压目录

解压目录至wnmp文件夹。

配置文件

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

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

1
2
3
4
5
6
7
8
9
10
11
12
[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

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

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

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

启动MySQL服务器

1
net start mysqld

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

启动MySQL服务器
启动MySQL服务器

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

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

php连接mysql案例

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

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

1
2
3
4
5
6
7
8
9
10
11
12
<?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!