透過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檔案已經壓縮上傳,請在透過PHP7內建Web服務快速建置開發環境,一BAT腳本搞定中下載!
注意:部分防毒軟體會報毒,這個你懂的,建議大家使用騰訊管家或加入信任清單。哈哈! ! !
提示:首次運行腳本,是需要透過VB下載php.zip和VC庫程序,所以需要等待一段時間哦,切忽心急重複運行BAT腳本。當然安裝好了之後就可以隨便運作了,多開也是可以的,畢竟WEB服務埠是隨機計算的。
@echo off<br>
<br>
:: PHP簡易開發環境建置工具 V1.0<br>
::<br>
:: 作者:Anyon <zoujingli><br>
:: 網址:http://www.ctolog.com<br>
:: 創建:2016/09/22 20:20<br>
<br>
title HTTP-SERVER<br>
<br>
set pan=%~d0<br>
:: 判斷PHP運轉環境是否有<br>
if not exist %pan%php (goto down) else (goto start)<br>
<br>
<br>
:start<br>
cls<br>
<br>
:: 臨時設定PHP運轉環境路徑<br>
set path=%~dp0..php;%~dp0php;%pan%php;%path% <br>
<br>
:: 隨機計算服務運作埠<br>
set port=%random%<br>
set /a port=port%%%1000+2000<br>
title [ %port% ] HTTP-SERVER<br>
<br>
:: 開啟瀏覽器視窗<br>
start http://localhost:%port%<br>
<br>
:: 啟動Web服務流程<br>
@echo on<br>
@php -S localhost:%port%<br>
goto end<br>
<br>
:down<br>
cls <br>
echo.<br>
echo 未偵測到本地環境,並嘗試下載安裝,請稍候...<br>
echo.<br>
<br>
:: 資源路徑定義<br>
set src=http://zoujingli.oschina.io/static/php-install/php.zip<br>
set des=%pan%php.zip<br>
<br>
set sof_32=http://zoujingli.oschina.io/static/php-install/vc_redist.x86.exe<br>
set sof_des_32=%pan%vc_redist.x86.exe<br>
<br>
set sof_64=http://zoujingli.oschina.io/static/php-install/vc_redist.x64.exe<br>
set sof_des_64=%pan%vc_redist.x64.exe<br>
<br>
set script=%pan%script.vbs<br>
set dir=%pan%<br>
<br>
:: 產生VB腳本,下載並處理PHP支援程式<br>
echo Set xPost = CreateObject("Microsoft.XMLHTTP") >%script%<br>
echo xPost.Open "GET","%src%",0 >>%script%<br>
echo xPost.Send() >>%script%<br>
echo Set sGet = CreateObject("ADODB.Stream") >>%script%<br> echo sGet.Mode = 3>>%script%<br>
echo sGet.Type = 1>>%script%<br>
echo sGet.Open()>>%script%<br>
echo sGet.Write(xPost.responseBody)>>%script%<br>
echo sGet.SaveToFile"%des%",2>>%script%<br>
<br>
如果「%PROCESSOR_ARCHITECTURE%」==「x86」( <br>
echo Set xPost = CreateObject("Microsoft.XMLHTTP")>>%script% <br>
echo xPost.Open"GET","%sof_32%",0>>%script%<br>
echo xPost.Send()>>%script%<br>
echo Set sGet = CreateObject("ADODB.Stream")>>%script%<br>
echo sGet.Mode = 3>>%script%<br>
echo sGet.Type = 1>>%script%<br>
echo sGet.Open()>>%script%<br>
echo sGet.Write(xPost.responseBody)>>%script%<br>
echo sGet.SaveToFile"%sof_des_32%",2>>%script%<br>
) 另外 (<br>
echo Set xPost = CreateObject("Microsoft.XMLHTTP")>>%script% <br>
echo xPost.Open"GET","%sof_64%",0>>%script%<br>
echo xPost.Send()>>%script%<br>
echo Set sGet = CreateObject("ADODB.Stream") >>%script%<br>
echo sGet.Mode = 3>>%script%<br>
echo sGet.Type = 1>>%script%<br>
echo sGet.Open()>>%script%<br>
echo sGet.Write(xPost.responseBody)>>%script%<br>
echo sGet.SaveToFile"%sof_des_64%",2>>%script%<br>
)<br>
<br>
:: 定義ZIP解析函數<br>
echo Sub UnZip(ByVal myZipFile, ByVal myTargetDir)>>%script%<br>
echo 設定 fso = CreateObject("Scripting.FileSystemObject") >>%script%<br>
echo 如果不是 fso.FileExists(myZipFile) 則 >>%script%<br>
echo 退出 Sub >>%script%<br>
echo ElseIf NOT fso.FolderExists(myTargetDir) 則 >>%script%<br>
echo fso.CreateFolder(myTargetDir) >>%script%<br>
echo 結束如果 >>%script%<br>
echo 設定 objShell = CreateObject("Shell.Application") >>%script%<br>
echo 設定 objSource = objShell.NameSpace(myZipFile) >>%script%<br>
echo 設定 objFolderItem = objSource.Items() >>%script%<br>
echo 設定 objTarget = objShell.NameSpace(myTargetDir) >>%script%<br> echo intOptions = 256 >>%script%<br>
echo objTarget.CopyHere objFolderItem, intOptions >>%script%<br>
echo End Sub >>%script%<br>
:: 解壓縮ZIP檔案<br>
echo UnZip "%des%", "%dir%" >>%script%<br>
:: 執行VB腳本<br>
cscript %script%<br>
<br>
cls<br>
echo.<br>
echo 這裡會提示您安裝VC支援庫,請依照指示操作! <br>
echo.<br>
echo --- 如果沒有安裝,請依照指示進行安裝! ---<br>
echo.<br>
echo --- 如果已經安裝,請忽略並關閉提示框! ---<br>
echo.<br>
<br>
:: 安裝並產生VB清理腳本<br>
echo Set fso = CreateObject("Scripting.FileSystemObject") >%script%<br>
echo fso.deleteFile "%des%" >>%script%<br>
if "%PROCESSOR_ARCHITECTURE%"=="x86" (<br>
%sof_des_32%<br>
echo fso.deleteFile "%sof_des_32%" >>%script%<br>
) else (<br>
%sof_des_64%<br>
echo fso.deleteFile "%sof_des_64%" >>%script%<br>
)<br>
echo fso.deleteFile "%script%" >>%script%<br>
:: 執行VB腳本<br>
cscript %script%<br>
<br>
cls<br>
goto start<br>
<br>
:end</zoujingli>
更新:資源位址更新到Oschina伺服器上
start.zip
( 1.44 KB 下載:10 次 )

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

了解Python程式設計的入門程式碼範例Python是一種簡單易學,功能強大的程式語言。對於初學者來說,了解Python程式設計的入門級程式碼範例是非常重要的。本文將為您提供一些具體的程式碼範例,幫助您快速入門。列印HelloWorldprint("HelloWorld")這是Python中最簡單的程式碼範例。 print()函數用於將指定的內容輸出

PHP變數儲存程式運行期間的值,對於建立動態且互動的WEB應用程式至關重要。本文將深入探討php變量,並透過10個真實的範例展示它們的實際應用。 1.儲存使用者輸入$username=$_POST["username"];$passWord=$_POST["password"];此範例從表單提交中提取使用者名稱和密碼,並將其儲存在變數中以供進一步處理。 2.設定配置值$database_host="localhost";$database_username="username";$database_pa

《Go語言程式設計實例:Web開發中的程式碼範例》隨著網路的快速發展,Web開發已成為各行業中不可或缺的一部分。作為一門功能強大且效能優越的程式語言,Go語言在Web開發中越來越受到開發者們的青睞。本文將透過具體的程式碼範例,介紹如何利用Go語言進行Web開發,讓讀者更能理解並運用Go語言來建立自己的Web應用。 1.簡單的HTTP伺服器首先,讓我們從一個

標題:從入門到精通:Go語言中常用資料結構的程式碼實作資料結構在程式設計中起著至關重要的作用,它是程式設計的基礎。在Go語言中,有許多常用的資料結構,掌握這些資料結構的實作方式對於成為優秀的程式設計師至關重要。本文將介紹Go語言中常用的資料結構,並給出對應的程式碼範例,幫助讀者從入門到精通這些資料結構。 1.數組(Array)數組是一種基本的資料結構,是一組相同類型

Java冒泡排序最簡單的程式碼範例冒泡排序是一種常見的排序演算法,它的基本想法是透過相鄰元素的比較和交換來將待排序序列逐步調整為有序序列。以下是一個簡單的Java程式碼範例,示範如何實作冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

華為雲端邊緣運算對接指南:Java程式碼範例快速實現介面隨著物聯網技術的快速發展和邊緣運算的興起,越來越多的企業開始關注邊緣運算的應用。華為雲端提供了邊緣運算服務,為企業提供了高可靠的運算資源和便利的開發環境,使得邊緣運算應用更容易實現。本文將介紹如何透過Java程式碼快速實現華為雲端邊緣運算的介面。首先,我們需要準備好開發環境。確保你已經安裝了Java開發工具包(

Java選擇排序法程式碼編寫指南及範例選擇排序是一種簡單直觀的排序演算法,其想法是每次從未排序的元素中選擇最小(或最大)的元素進行交換,直到所有元素排序完成。本文將提供選擇排序的程式碼編寫指南,並附上具體的Java範例程式碼。演算法原理選擇排序的基本原理是將待排序數組分為已排序和未排序兩部分,每次從未排序部分選擇最小(或最大)的元素,將其放到已排序部分的末尾。重複上述

如何使用PHP編寫庫存管理系統中的庫存分倉管理功能碼庫存管理是許多企業中不可或缺的一部分。對於擁有多個倉庫的企業來說,庫存分倉管理功能尤其重要。透過合理管理和追蹤庫存,企業可以實現不同倉庫之間的庫存調撥,優化營運成本,改善協同效率。本文將介紹如何使用PHP編寫庫存分倉管理功能的程式碼,並為您提供相關的程式碼範例。一、建立資料庫在開始編寫庫存分倉管理功能的程式碼之
