0

0

通过PHP7内置Web服务快速搭建开发环境,一BAT脚本搞定

php中文网

php中文网

发布时间:2016-09-24 09:02:58

|

1669人浏览过

|

来源于php中文网

原创

自PHP5.4起,PHP内置Web服务器,我们在部署开发环境时,完全可以忽略搭建什么WAMP或WNMP环境,直接使用PHP就可以了。
前言:首先恭喜ThinkPHP5顺利推出,非常感谢Think长期以来对PHP开发做出的贡献,我在这也给大家做个小工具,也算对ThinkPHP5做点边缘化的支持!嘿嘿...

背景:自PHP5.4起,PHP内置Web服务器,我们在部署开发环境时,完全可以忽略搭建什么WAMP或WNMP环境,直接用命令 PHP -S http://localhost:8000 就可以让PHP项目跑起来了。在Windows中,我们通常没有设置系统环境Path,PHP配置也有点麻烦,让CMD可以执行PHP对于一些人来说也不容易。

目标:免安装WNMP或WAMP环境,实现快速部署PHP开发运行环境,一键走起。

走起:这里我给大家写了一个段BAT脚本,它可以自动检测并安装PHP环境,启动PHP内置WEB服务,BAT脚本内容在下面可以看到。只需要在项目根目录下放置一个start.bat文件,双击这个文件,就可以打开你的PHP项目了。这个工具使用的PHP版本是PHP7.0.10,脚本运行的时候,会自动下载一个PHP目录放在当前盘符根下面,这个PHP就是官方的window版本。在工具初始运行时,可能会要求您安装VC库,根据提示安装就可以,如果不安装,会导致PHP无法运行,导致各种dll文件丢失的报错!具体部署如下图,其中start.bat文件已经压缩上传,请在附件中下载!

注意:部分杀毒软件会报毒,这个你懂的,建议大家使用腾讯管家或者添加到信任列表。哈哈!!!

提示:首次运行脚本,是需要通过VB下载php.zip和VC库程序,所以需要等待一段时间哦,切忽心急重复运行BAT脚本。当然安装好了之后就可以随便运行了,多开也是可以的,毕竟WEB服务端口是随机计算的。
通过PHP7内置Web服务快速搭建开发环境,一BAT脚本搞定
通过PHP7内置Web服务快速搭建开发环境,一BAT脚本搞定@echo off

:: PHP简易开发环境搭建工具 V1.0
::
:: 作者:Anyon 
:: 网址:http://www.ctolog.com
:: 创建:2016/09/22 20:20

title HTTP-SERVER

set pan=%~d0
:: 判断PHP运行环境是否存在
if not exist %pan%\php (goto down) else (goto start)


:start
    cls

    :: 临时设置PHP运行环境路径
    set path=%~dp0..\php;%~dp0php;%pan%\php;%path% 

    :: 随机计算服务运行端口
    set port=%random%
    set /a port=port%%1000+2000
    title [ %port% ] HTTP-SERVER

    :: 打开浏览器窗口
    start http://localhost:%port%

    :: 启动Web服务进程
    @echo on
    @php -S localhost:%port%
    goto end

:down
    cls 
    echo.
    echo   未检测到本地环境,正在尝试下载安装,请稍候...
    echo.

    :: 资源路径定义
    set src=http://zoujingli.oschina.io/static/php-install/php.zip
    set des=%pan%\php.zip
    
    set sof_32=http://zoujingli.oschina.io/static/php-install/vc_redist.x86.exe
    set sof_des_32=%pan%\vc_redist.x86.exe

    set sof_64=http://zoujingli.oschina.io/static/php-install/vc_redist.x64.exe
    set sof_des_64=%pan%\vc_redist.x64.exe
    
    set script=%pan%\script.vbs
    set dir=%pan%\

    :: 生成VB脚本,下载并处理PHP支持程序
    echo Set xPost = CreateObject("Microsoft.XMLHTTP") >%script%
    echo xPost.Open "GET","%src%",0 >>%script%
    echo xPost.Send() >>%script%
    echo Set sGet = CreateObject("ADODB.Stream") >>%script%
    echo sGet.Mode = 3 >>%script%
    echo sGet.Type = 1 >>%script%
    echo sGet.Open() >>%script%
    echo sGet.Write(xPost.responseBody) >>%script%
    echo sGet.SaveToFile "%des%",2 >>%script%
    
    if "%PROCESSOR_ARCHITECTURE%"=="x86" (        
        echo Set xPost = CreateObject("Microsoft.XMLHTTP") >>%script%    
        echo xPost.Open "GET","%sof_32%",0 >>%script%
        echo xPost.Send() >>%script%
        echo Set sGet = CreateObject("ADODB.Stream") >>%script%
        echo sGet.Mode = 3 >>%script%
        echo sGet.Type = 1 >>%script%
        echo sGet.Open() >>%script%
        echo sGet.Write(xPost.responseBody) >>%script%
        echo sGet.SaveToFile "%sof_des_32%",2 >>%script%
    ) else (
        echo Set xPost = CreateObject("Microsoft.XMLHTTP") >>%script%    
        echo xPost.Open "GET","%sof_64%",0 >>%script%
        echo xPost.Send() >>%script%
        echo Set sGet = CreateObject("ADODB.Stream") >>%script%
        echo sGet.Mode = 3 >>%script%
        echo sGet.Type = 1 >>%script%
        echo sGet.Open() >>%script%
        echo sGet.Write(xPost.responseBody) >>%script%
        echo sGet.SaveToFile "%sof_des_64%",2 >>%script%
    )
    
    :: 定义ZIP解析函数
    echo Sub UnZip(ByVal myZipFile, ByVal myTargetDir) >>%script%
    echo     Set fso = CreateObject("Scripting.FileSystemObject") >>%script%
    echo     If NOT fso.FileExists(myZipFile) Then >>%script%
    echo         Exit Sub >>%script%
    echo     ElseIf NOT fso.FolderExists(myTargetDir) Then >>%script%
    echo         fso.CreateFolder(myTargetDir) >>%script%
    echo     End If >>%script%
    echo     Set objShell = CreateObject("Shell.Application") >>%script%
    echo     Set objSource = objShell.NameSpace(myZipFile) >>%script%
    echo     Set objFolderItem = objSource.Items() >>%script%
    echo     Set objTarget = objShell.NameSpace(myTargetDir) >>%script%
    echo     intOptions = 256 >>%script%
    echo     objTarget.CopyHere objFolderItem, intOptions >>%script%
    echo End Sub >>%script%
    :: 解压ZIP文件
    echo UnZip "%des%", "%dir%" >>%script%
    :: 执行VB脚本
    cscript %script%
    
    cls
    echo.
    echo   这里会提示您安装VC支持库,请根据提示进行操作!
    echo.
    echo    --- 如果没有安装,请根据提示进行安装!---
    echo.
    echo    --- 如果已经安装,请忽略并关闭提示框!---
    echo.
    
    :: 安装并生成VB清理脚本
    echo Set fso = CreateObject("Scripting.FileSystemObject") >%script%
    echo fso.deleteFile "%des%" >>%script%
    if "%PROCESSOR_ARCHITECTURE%"=="x86" (
        %sof_des_32%
        echo fso.deleteFile "%sof_des_32%" >>%script%
    ) else (
        %sof_des_64%
        echo fso.deleteFile "%sof_des_64%" >>%script%
    )
    echo fso.deleteFile "%script%" >>%script%
    :: 执行VB脚本
    cscript %script%

    cls
    goto start

:end
更新:资源地址更新到Oschina服务器上

附件 start.zip ( 1.44 KB 下载:10 次 )

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

84

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.8万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.6万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号