Windows上搭建PHP开发环境 - Go语言中文社区

Windows上搭建PHP开发环境


前言

作为一个不太全面发展的客户端程序员,基本没怎么写过服务器,就是以前闲暇时候写过点php和go,用WAMP或者宝塔搭建过运行环境,这次机缘巧合要同时搞服务器和客户端,因为用到了nginx,本来想继续用宝塔搭建环境的,但是因为升级系统卸载宝塔时没有先卸载mysql,导致重新使用宝塔安装时总是提示系统有运行的mysql,无法安装,尝试了几次后就放弃了宝塔,决定从头单独软件安装。不过最后搭建完毕,发现现在基本上全是免安装了,都是压缩包,解压后修改下配置文件就可以运行了。

运行环境&安装软件

系统 Windows10 64位
数据库 mysql-5.7.28-winx64
服务器 nginx-1.16.1
PHP php-7.3.10-Win32-VC15-x64
redis Redis-x64-3.2.100
IDE PhpStorm-2019.2.3
数据库管理工具 phpMyAdmin-4.9.1-all-languages

上面的软件,redis,phpStorm,phpMyAdmin不是必须的,只是我这次搭建环境和写代码用到了。像redis,如果只是简单学习php开发的话可以不装,我这次因为服务器工程用到了redis,所以就安装了。然后就是phpMyAdmin,因为很早以前在用WAMP时用过,喜欢界面风格,这次就继续用这个了,管理mysql数据库还是好用,如果有熟悉其他管理软件,比如Navicat,也可以继续用Navicat,不必装phpMyAdmin。最后就是phpStorm,这个只是写php的IDE,因为最近全面用上了JetBrain家的软件,这次写php就继续用这个了,如果有习惯用eclipse或zend studio的就继续用,不必换上phpStorm。
上面软件只有 redis 和 phpStorm 是安装包,其他的都是压缩包,解压后配置以下即可使用。

安装目录
这里说一下我的软件安装目录,我是在某个盘下创建了一个 wnmp 的文件夹,然后把mysql,nginx,php,phpMyAdmin都解压到了 wnmp 文件夹下。因为这几个都是免安装的,直接解压即可,然后修改配置文件中的路径时也方便修改。
每个软件带上版本号放在 wnmp 下即可

数据库 mysql 安装

mysql的安装我就直接粘贴另外一个人写的博客了,我这次就是按照这篇博客安装的,亲测可用,只是我装的是5.7.28,博客里安装的是5.7.24,不过基本没有区别。按博客的说明,下载的这个版本是免安装版本,直接解压到一个目录即可。
MySQL下载与安装:https://blog.csdn.net/weixin_42869365/article/details/83472466
博客里使用命令行时用的是管理员方式,我是用管理员方式下的 PowerShell,也是可用的。 打开管理员账户的 PowerShell方式,可以使用快捷键 Win + X ,然后选择 Windows PowerShell(管理员)。

服务器 nginx 安装

直接去 nginx 官网下载一个稳定版,我下载的版本是1.16.1。
nginx官网:http://nginx.org/
下载后解压到一个目录,然后打开 conf目录下nginx.conf 文件。需要关心两块配置。

1.nginx server
nginx运行端口,域名,运行文件目录
如上图所示,这是nginx运行监听的端口,域名,运行文件配置。如果没有特殊要求可以不做修改。如果80端口被tomcat或其他本地服务器占用了,则可以修改为其他端口。其中 location 下的 root 就是 nginx 根目录下的 html 目录,可以认为是 tomcat 的 wwwroot,运行的文件或者工程可以放在这个目录,当然如果有其他运行的服务器工程可以参照 nginx.conf 新建一个 .conf文件。比如我这次运行 phpMyAdmin 就新建了一个 phpmyadmin.conf。root 下面 index 配置了两个 index.html index.htm。可以认为是默认运行文件,就是你直接运行服务器地址而不指定具体文件时会默认运行 index.html。现在可以在 index.html index.htm 后面添加一个 index.php ,然后在 html 目录创建一个 index.php 文件,index.php 中写上一点php代码备用。

<?php
phpinfo();
?>

2.fastcgi
nginx是不能直接解析php代码的,它是用到了 fastcgi 来解析php代码。相关原理可以参考这篇博客:
nginx动态解析php原理
https://blog.csdn.net/aloha12/article/details/88852714
接下来修改下 location 块,以用来解析 php。
在这里插入图片描述
首先把 location 配置块前面的 # 注释删除,然后修改 fastcgi_param ,将

/scripts$fastcgi_script_name

修改为

$document_root$fastcgi_script_name

注意前面的 fastcgi_pass 127.0.0.1:9000。如果等接下来安装完 php 环境后,在浏览器里执行 localhost/index.html 成功,但是执行 localhost/index.php 总是失败的话,有可能是 9000 端口被占用了,我装了两台电脑都是9000端口被占用了。这个时候需要更换其他未被占用的端口。
这样这两个配置块就完成了。
现在启动 nginx 。在 nginx 目录运行命令行(不是管理员方式也可以),然后执行命令:

start nginx

没有提示错误的话,在浏览器里访问 localhost 或者 127.0.0.1 ,如果成功显示 Welcome 那么表示 nginx 已经成功启动了。
nginx运行成功提示

PHP 安装

php也是免安装的压缩包,直接去 php 官网下载一个稳定版本,我下载的是 7.3.10
php官网:https://www.php.net/
将 php 压缩包解压到和 nginx 同一个目录(这个不必须,按你的需要爱好放就行)。我是新建了一个和 nginx 同级的目录,按版本号命名为 php-7.3.10,然后解压到了php-7.3.10。
然后将php目录中的 php.ini-development 拷贝一份,修改名字为 php.ini
php.ini
打开 php.ini 在其中找到

;extension_dir = "ext"
;cgi.fix_pathinfo=1
;fastcgi.impersonate = 1
enable_dl = Off
;cgi.force_redirect = 1

将前面有分号的删除分号,将 enable_dl = Off 改成 enable_dl = On。
将 cgi.force_redirect 前面的分号删除并将值改为 0
为了启用 mysqli 扩展,php连接mysql的时候会用到。找到下面两行配置将分号删除。

;extension=pdo_mysql
;extension=mysqli

其实上面打开了很多东西,如果只是运行下php代码时是不需要打开的。
下面开始运行 php-cgi 让其和 nginx 关联起来。在 php 目录运行命令行,执行命令:

php-cgi.exe -b 127.0.0.1:9000 -c php.ini

注意在 nginx fastcgi 配置里说过的9000端口,这里的端口号要和那里的端口号保持一致,如果fastcgi那里你已经修改过,这里运行命令时输入的端口要保持一致。
输入完命令后,命令行就不会再往下执行了,不出错的话就表示 php-cgi 已经执行成功。如果上面配置 nginx 时运行的 nginx 没有关闭的话,这个时候就可以在浏览器里输入

localhost/index.php

注意这里的 index.php 是在配置安装nginx时我们在 html 目录创建的文件。
如果成功那么在浏览器页面就会显示 phpinfo 。
phpinfo
如果成功出现这个界面,那么恭喜你,现在你已经可以动手写php代码进行测试了。如果有需求的话继续接下来的配置。接下来继续配置 redis,phpMyAdmin。

redis 配置

redis 配置比较属于线上性质了,如果只是单纯练手php的话,可以跳过这块配置。
详细安装配置,简单使用可以参考这篇文章:
Window下PHP环境配置使用Redis总结
https://www.cnblogs.com/lovele-/p/9414649.html

redis-server
首先去github下载 redis。我下载的是 Redis-x64-3.2.100.msi
https://github.com/MicrosoftArchive/redis/releases
然后安装到电脑上,默认路径就可以。然后运行
redis-server.exe
redis server
出现这个界面就表示成功了。设置为开机启动的话,下次运行的时候就不需要这个界面一直保持在前台了。

php redis扩展
根据你安装的 php 版本,去 php 扩展网站下载对应版本的redis扩展
需要php_igbinary.dll和php_redis.dll两个扩展文件
php扩展网站:
https://windows.php.net/downloads/pecl/releases/redis/
https://windows.php.net/downloads/pecl/releases/igbinary/
我下载的是
php_igbinary-2.0.8-7.3-ts-vc15-x64.zip
php_redis-4.2.0rc3-7.3-ts-vc15-x64.zip
解压后分别拿到 php_igbinary.dll和php_redis.dll两个扩展文件,将这两个文件放到 php 的 ext 目录下,然后修改 php.ini 文件,添加两行配置。

extension=php_igbinary.dll

extension=php_redis.dll

再次在浏览器运行 localhost/index.php。查看phpinfo,如果看到了 redis 就表示扩展成功。
如果没有看到了话,可以 reload 下 nginx 。reload nginx 命令。

nginx -s reload

phpMyAdmin 安装

phpMyAdmin 也是免安装的压缩包。去官网下载压缩包。
phpMyAdmin官网:
https://www.phpmyadmin.net/
然后解压到和nginx,php同级目录,我为了方便操作就放到同一个目录下了,参见上面写的 目录 那块内容。
在目录下找到 config.sample.ini.php 拷贝一份这个文件,将拷贝出的文件修改名字为 config.ini.php。里面内容不需要修改。
在 nginx 中添加 conf
在安装nginx时说过,可以添加一个新的 conf 来运行 phpMyAdmin。
首先可以在 nginx 的conf 目录中新建一个vhost目录,这个目录就可以放其他新建的 conf文件,比如有多个应用分别使用不同的服务器地址,就可以建立对应的 conf 文件。然后在其中新建一个
phpmyadmin.conf文件。将 nginx.conf 中的 server,location 两块内容拷贝到一个新文件中。主要是修改server监听的端口和 location 下 phpMyAdmin 的目录地址。内容如下


    server {
        listen       8089;
        server_name  localhost;

        #charset koi8-r;
        error_log logs/phpmyadmin.error.log;
        access_log  logs/phpmyadmin.access.log;

        location / {
            root   D:/wnmp/phpMyAdmin-4.9.1-all-languages;
            index  index.html index.htm index.php;
        }


        location ~ .php$ {
            root           D:/wnmp/phpMyAdmin-4.9.1-all-languages;
            fastcgi_pass   127.0.0.1:3900;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

    }
	

我把 server 中的端口改成了 8089,这样就不会和刚才 nginx 下默认的 80 端口冲突。再修改下 nginx.conf 文件,让其可以引用到 phpmyadmin.conf 文件。
修改nginx.conf include 新conf文件
如同所示,在 server 块中添加一行配置。注意不要添加到配置块外部。

include 'vhost/*.conf';

这样就可以 include 到 vhost 中的所有 conf 文件了,当然就包括我们刚才创建的phpmyadmin.conf 文件。
然后此时在浏览器里输入:

localhost:8089/index.php

如果成功就可以看到 phpMyAdmin 的登陆界面了。
phpMyAdmin 登陆界面
你成功启动 mysql 后,在登录界面输入一个 mysql 的账号密码就可以进入 一个mysql 数据库了。

PhpStorm 安装

JetBrain PhpStorm:
http://www.jetbrains.com/phpstorm/
这个软件就属于锦上添花的作用了,如开篇所说,如果习惯其他编写php的IDE,就可以跳过这块了。不过我在使用这个之后发现一个好功能,就是使用 PhpStorm 打开 php 工程,然后开启 listening php debug connect,PhpStorm就不需要其他任何配置就可以在线调试 php 代码了。
打开 php debug 监听
如图所示,点击一下标志就可以开启或者关闭 listening php debug connect。
我先前还安装其他文章介绍的安装配置 xdebug,在PhpStorm里配置了几次没有成功就放弃了。

结语

周末花了两天时间,配置好环境,把服务器运行起来了,并布置了一份到线上的 windows server 。然后客户端就没啥说的了,直接 AndroidStudio 修改 Gradle 运行起来,修改服务器链接,出包。
其中遇到的问题就是那个 9000 端口,迷惑了一会儿,然后就是 xdebug 配置失败,不过如上所说,使用 PhpStorm 打开 debug 后是可以直接在线调试的。
最后把一些软件放到 csdn 上,按需下载。
https://download.csdn.net/download/change_from_now/11929835
其实现在基本都是免安装的压缩包了,还是很方便的。
p.s.上传资源时发现我只有220M的上传权限,然后就把 mysql,PhpStorm 去掉了,需要的人还是去官网下载吧。 然后也没有发现修改积分的地方,系统就直接定为了5积分,也是奇怪。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/change_from_now/article/details/102773786
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢