国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

PHP桌面應用打包筆記

KingBes

前言

該筆記針對 windows 環(huán)境

準備工作

  • PHP For Windows 下載(我這里選擇 php-8.2.19-nts-Win32-vs16-x64)->解壓->配置好ini(不會自行百度)->開啟FFI拓展->配置好環(huán)境
  • composer 配置composer環(huán)境
  • Enigma Virtual Box (這是一個封裝壓縮成單文件的應用)
  • Inno Setup (這是一個打包為安裝包應用,有中文版的自行百度)

1. 壓縮PHP

運行Enigma Virtual Box應用

  1. 主程序:選擇你的php-win.exe文件

  1. 新增->添加文件夾[遞歸] :選擇你的PHP文件夾,這里我選擇的是C:\environment\php-8.2.19-nts(請根據(jù)你的實際情況選擇)

  2. 文件選項:勾選->壓縮文件和勾選->啟動文件虛擬化

  3. 執(zhí)行封包(你會拿到一個單文件),這里我的是php-win_boxed.exe

2. 創(chuàng)建桌面php應用

  • 新建文件夾php-webui(根據(jù)你的實際情況新建)

  • 進入文件夾php-webui(根據(jù)你的實際情況新建)

執(zhí)行composer(這里我選擇 webui的php桌面拓展)

composer require kingbes/webui
  • 新建文件 index.html
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>phpwebui</title>
    <!-- You must add webu.js; otherwise, the interaction cannot be performed -->
    <script src="webui.js"></script>
</head>

<body>
    <p>hello world for php webui</p>
    <button onclick="btn()">btn</button>
    <script>
        function btn() {
            hello('hello').then(function (res) {
                console.log(res)
            })
        }
    </script>
</body>

</html>
  • 新建入口文件index.php
<?php
require "./vendor/autoload.php";

use Kingbes\Webui;
use Kingbes\JavaScript;

// 實例
$Webui = new Webui;
// html字符串
$html = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . "index.html");
// 創(chuàng)建一個窗口
$window = $Webui->newWindow();
// 綁定js函數(shù)
$bind = $Webui->bind($window, "hello", function ($event, JavaScript $js) {
    // 獲取第一個參數(shù)為字符串
    $arg_one = $js->getString($event);
    var_dump($arg_one);

    // 返回字符串
    $js->returnString($event, "nihao");
});
// 顯示窗口
$Webui->show($window, $html);
// 等待
$Webui->wait();
// 釋放所有
$Webui->clean();
  • 將封包好的php-win_boxed.exe文件復制到php-webui文件夾中

執(zhí)行指令(測試查看是否成功)

.\php-win_boxed.exe index.php

3. 將應用打包為安裝包

執(zhí)行應用 Inno Setup

  • 選擇->用[腳本向?qū)創(chuàng)建新的腳本文件->下一步

  • 填寫信息:應用程序信息(更具你的信息填寫即可)->下一步(應用程序文件夾,不用管)->下一步
  • 應用程序文件:主程序執(zhí)行文件(選擇你的 php-win_boxed.exe 文件,我這里選擇是C:\project\php\php-webui\php-win.exe)->添加文件夾(選擇你新建的 php-webui,包含你的子文件)->下一步

  • 創(chuàng)建程序快捷方式:勾選(允許用戶創(chuàng)建桌面快捷方式)->下一步
  • 應用程序文檔:(根據(jù)你的實際情況填)->下一步
  • 安裝程序安裝模式: 選擇->管理員安裝模式(為所有用戶安裝)-下一步
  • ...剩下的根據(jù)你的實際情況填寫
  • Inno Setup 預處理器:勾選->使用 #define 編譯指令->下一步

  • 完成

[!注意] 接下來會彈出 是否立即編譯腳本 ,這時候選擇否

然后修改一下代碼

[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppExeName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Parameters:"index.php"; 

編譯 即可

假設你要添加自己的 ico圖標
你就把圖標文件添加到你的 php-webui文件夾中
然后修改以下代碼(我的ico圖標文件夾是favicon.ico,根據(jù)你的實際情況)

Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppExeName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Parameters:"index.php"; IconFilename:"{app}\favicon.ico"

這個是我打包好的 demo 拿去玩吧
通過網(wǎng)盤分享的文件:setupPHPWebUi.exe
鏈接: https://pan.baidu.com/s/1fC7Sd1Lnt-zio41s5jgJAQ?pwd=w5xc 提取碼: w5xc

2296 7 5
7個評論

KingBes

本來想用 static-php-cli 的,可以壓縮得更小,且還有micro來打包,但static-php-cli搭建起來并不那么順利,所以還是用Enigma Virtual Box直接給PHP環(huán)境給封包單文件

海盜船長

點贊,支持

  • 暫無評論
tanhongbin

數(shù)據(jù)庫 使用mysql嘛?

xpwsgg

PHP真是厲害啊

  • 暫無評論
songshu

牛的一逼啊

  • 暫無評論
Ace華

基于webview的吧

  • KingBes 2025-04-11

    webui庫是喚醒系統(tǒng)存在的瀏覽器來使用

18227948197

有黑窗口在哪可以處理掉

  • KingBes 2025-06-12

    用php-win32.exe 來啟動就不會有命令窗口彈出

  • 18227948197 2025-06-24

    有沒有windows的多線程擴展,多進程寫起來有點坑,需要啟動監(jiān)聽鍵盤,還需要按F12顯示隱藏ui,沒多線程也是個麻煩

  • KingBes 2025-06-24

    PHP暫時沒有多線程,只有swoole-v6有,但沒用 windows版本

KingBes

1710
積分
0
獲贊數(shù)
0
粉絲數(shù)
2023-06-12 加入
??