162 lines
3.2 KiB
Batchfile
162 lines
3.2 KiB
Batchfile
|
|
@echo off
|
||
|
|
chcp 65001 >nul
|
||
|
|
title PHP 开发服务器
|
||
|
|
|
||
|
|
:MENU
|
||
|
|
cls
|
||
|
|
echo ========================================
|
||
|
|
echo PHP 开发服务器启动脚本 (高级版)
|
||
|
|
echo ========================================
|
||
|
|
echo.
|
||
|
|
echo 请选择启动模式:
|
||
|
|
echo.
|
||
|
|
echo [1] 快速启动 (端口 8080)
|
||
|
|
echo [2] 自定义端口
|
||
|
|
echo [3] 查看 PHP 信息
|
||
|
|
echo [4] 退出
|
||
|
|
echo.
|
||
|
|
echo ========================================
|
||
|
|
set /p choice=请输入选项 (1-4):
|
||
|
|
|
||
|
|
if "%choice%"=="1" goto QUICK_START
|
||
|
|
if "%choice%"=="2" goto CUSTOM_PORT
|
||
|
|
if "%choice%"=="3" goto PHP_INFO
|
||
|
|
if "%choice%"=="4" goto END
|
||
|
|
echo [错误] 无效选项,请重新选择
|
||
|
|
timeout /t 2 >nul
|
||
|
|
goto MENU
|
||
|
|
|
||
|
|
:QUICK_START
|
||
|
|
set PORT=8080
|
||
|
|
goto START_SERVER
|
||
|
|
|
||
|
|
:CUSTOM_PORT
|
||
|
|
echo.
|
||
|
|
set /p PORT=请输入端口号 (例如: 8080):
|
||
|
|
if "%PORT%"=="" (
|
||
|
|
echo [错误] 端口号不能为空
|
||
|
|
timeout /t 2 >nul
|
||
|
|
goto MENU
|
||
|
|
)
|
||
|
|
goto START_SERVER
|
||
|
|
|
||
|
|
:START_SERVER
|
||
|
|
cls
|
||
|
|
echo ========================================
|
||
|
|
echo 正在启动 PHP 开发服务器...
|
||
|
|
echo ========================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
REM 设置 PHP 路径
|
||
|
|
set PHP_PATH=D:\2_part\php-8.0.0-Win32-vs16-x64\php.exe
|
||
|
|
|
||
|
|
REM 检查 PHP 是否存在
|
||
|
|
if not exist "%PHP_PATH%" (
|
||
|
|
echo [错误] PHP 未找到: %PHP_PATH%
|
||
|
|
echo.
|
||
|
|
echo 请修改脚本中的 PHP_PATH 变量
|
||
|
|
pause
|
||
|
|
goto MENU
|
||
|
|
)
|
||
|
|
|
||
|
|
REM 显示 PHP 版本
|
||
|
|
echo [信息] PHP 版本:
|
||
|
|
"%PHP_PATH%" -v | findstr /C:"PHP"
|
||
|
|
echo.
|
||
|
|
|
||
|
|
REM 设置项目根目录
|
||
|
|
set PROJECT_ROOT=%~dp0xunifriend_RaeeC\public
|
||
|
|
|
||
|
|
REM 检查项目目录是否存在
|
||
|
|
if not exist "%PROJECT_ROOT%" (
|
||
|
|
echo [错误] 项目目录未找到: %PROJECT_ROOT%
|
||
|
|
pause
|
||
|
|
goto MENU
|
||
|
|
)
|
||
|
|
|
||
|
|
REM 获取本机 IP 地址
|
||
|
|
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /C:"IPv4"') do (
|
||
|
|
set LOCAL_IP=%%a
|
||
|
|
goto :IP_FOUND
|
||
|
|
)
|
||
|
|
:IP_FOUND
|
||
|
|
set LOCAL_IP=%LOCAL_IP: =%
|
||
|
|
|
||
|
|
REM 设置服务器参数
|
||
|
|
set HOST=0.0.0.0
|
||
|
|
|
||
|
|
echo [信息] 项目目录: %PROJECT_ROOT%
|
||
|
|
echo [信息] 服务器端口: %PORT%
|
||
|
|
echo.
|
||
|
|
echo ========================================
|
||
|
|
echo 访问地址:
|
||
|
|
echo ========================================
|
||
|
|
echo.
|
||
|
|
echo [本地访问]
|
||
|
|
echo http://127.0.0.1:%PORT%
|
||
|
|
echo http://localhost:%PORT%
|
||
|
|
echo.
|
||
|
|
echo [局域网访问]
|
||
|
|
echo http://%LOCAL_IP%:%PORT%
|
||
|
|
echo.
|
||
|
|
echo [管理后台]
|
||
|
|
echo http://127.0.0.1:%PORT%/admin
|
||
|
|
echo.
|
||
|
|
echo ========================================
|
||
|
|
echo.
|
||
|
|
echo [提示] 按 Ctrl+C 停止服务器
|
||
|
|
echo.
|
||
|
|
|
||
|
|
REM 询问是否打开浏览器
|
||
|
|
set /p OPEN_BROWSER=是否自动打开浏览器? (Y/N):
|
||
|
|
if /i "%OPEN_BROWSER%"=="Y" (
|
||
|
|
echo [信息] 正在打开浏览器...
|
||
|
|
start http://127.0.0.1:%PORT%
|
||
|
|
)
|
||
|
|
|
||
|
|
echo.
|
||
|
|
echo [信息] 服务器启动中...
|
||
|
|
echo ========================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
REM 启动 PHP 内置服务器
|
||
|
|
cd /d "%PROJECT_ROOT%"
|
||
|
|
"%PHP_PATH%" -S %HOST%:%PORT% -t .
|
||
|
|
|
||
|
|
pause
|
||
|
|
goto MENU
|
||
|
|
|
||
|
|
:PHP_INFO
|
||
|
|
cls
|
||
|
|
echo ========================================
|
||
|
|
echo PHP 信息
|
||
|
|
echo ========================================
|
||
|
|
echo.
|
||
|
|
|
||
|
|
set PHP_PATH=D:\2_part\php-8.0.0-Win32-vs16-x64\php.exe
|
||
|
|
|
||
|
|
if not exist "%PHP_PATH%" (
|
||
|
|
echo [错误] PHP 未找到: %PHP_PATH%
|
||
|
|
pause
|
||
|
|
goto MENU
|
||
|
|
)
|
||
|
|
|
||
|
|
echo [PHP 版本]
|
||
|
|
"%PHP_PATH%" -v
|
||
|
|
echo.
|
||
|
|
echo [PHP 配置文件]
|
||
|
|
"%PHP_PATH%" --ini
|
||
|
|
echo.
|
||
|
|
echo [已加载的扩展]
|
||
|
|
"%PHP_PATH%" -m
|
||
|
|
echo.
|
||
|
|
|
||
|
|
pause
|
||
|
|
goto MENU
|
||
|
|
|
||
|
|
:END
|
||
|
|
echo.
|
||
|
|
echo 感谢使用!
|
||
|
|
timeout /t 1 >nul
|
||
|
|
exit
|