使用php开源软件这么长时间了,也是时候写一篇关于如何手动配置php开发环境的文章了,一开始使用的phpstudy,但是毕竟是别人配置的,我这个人不喜欢这样,直接用这类集成环境软件,省去了中间部分,但总感觉少了些什么,手动的会让你增长一些知识的。
# 目录
- 工具准备
- 下载安装包
- 配置环境
- 实战演练
# 工具准备
- windows10一台
# 下载安装包
下载的安装包包括php-7.4,mysql8.0.21,nginx-1.19.3,选择适合你系统的版本进行下载,这里下载的都是最新版。
最好下载这种 Thread Safe
的,里面有后面需要的php-cgi程序。
# 配置环境
下载下来以后,首先对其进行解压缩,然后在一个磁盘建立一个专门的文件夹,例如wnmp
,用来存放程序。
目录结构大致如下:
/*
+ wnmp
- nginx-1.19.3
- php-7.4
- mysql-8.0.21
*/
2
3
4
5
6
# 配置nginx
这个简单,只需要把nginx放入环境变量即可。
环境变量全局都可以访问,分为用户的和系统的,在我的电脑->属性->高级系统设置->高级->环境变量
。
比如我这个是D:/soft/wnmp/nginx
,放入PATH里面即可。
配置好了以后,打开命令行,输入nginx -v
即可打印出版本号,说明安装成功!
# 配置php
这个也和nginx类似,把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"
2
3
4
5
开启部分扩展,例如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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 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;
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 编写php文件
<?php
echo phpinfo();
?>
2
3
# 预览站点
- 重启nginx
nginx -t
nginx -s reload
2
- 编写php-cgi脚本
set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "php-cgi -b 127.0.0.1:9000",0
2
- 最后打开游览器
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
2
3
4
5
6
7
8
9
10
11
12
# 初始化MySQL
在命令行输入--initialize --console
cd D:/soft/wnmp/mysql8.0.21/bin
#输入
mysqld --initialize --console
2
3
接着会打印出一些内容,其中找到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';
2
3
# 启动MySQL服务器
net start mysqld
加入环境变量,打印版本号。
到这里,基本上的都安装完成了,现在进行一个实战训练。
写一个基本的连接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 '连接成功!';
?>
2
3
4
5
6
7
8
9
10
11
12
- 打开游览器预览
打开地址http://localhost:8080/mysql.php
。
如果页面显示连接成功
表示试验成功!
# 写在最后
其实整个过程配置下来觉得也没有那么麻烦,那么累,只要你坚持一步一步下去,就会配置成功的,加油!接下来,你就可以尽情的畅游在php的世界之中了,可以按照各种php开源程序,酷cool!