您好,欢迎访问一九零五行业门户网

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

自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服务端口是随机计算的。
@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 次 )
其它类似信息

推荐信息