使用PHP开发windows桌面程序,webman 版本的phpdesktop

Ace华

2023年12月17日更新

新版本使用了 electron和webman的结合,请移步 https://www.workerman.net/a/1603

源仓库地址

https://github.com/cztomczak/phpdesktop/wiki
可以在上面查看详细信息

基本说明

1.php目录存放php的目录,php.exe在php目录下
2.www目录存放你网站的代码,若使用composer,则composer.json在www目录下
3.settings.json 里面有很多配置,如是否开启debug窗口,具体可以在上面的源仓库地址查看。
4.支持webman。如果想要支持webman,则在settings.json文件中,web_server下的is_webman设置为true,并且listen_on的第1个设置为127.0.0.1,第2个端口设置为webman框架启动的监听端口,如8787。必须保持和webman框架中的config/server.php中的listen中配置一致。

版本说明

此版本在源仓库的基础上添加了支持webman的功能,程序逻辑就是在启动时,启动一个后台隐藏窗口执行 php windows.php 这个命令,并且在退出程序时,自动杀死启动的webman子进程。
源仓库的逻辑是在启动时,会调用 mongoose(一个C语言实现的web服务器)来启动一个web服务器。所以,如果is_webman配置为false时,则为普通框架,true时,为webman框架。

兼容sqlite3说明

改为sqlite后,不支持所有表功能,官网只支持mysql
建议在mysql上开发好后,使用navicat 的数据库迁移工具,将mysql数据库转为sqlite数据库,然后,关闭代码生成等功能
为了兼容sqlite,需要替换源webman-admin框架的2个文件,一个是
plugin/admin/app/common/Util.php
plugin/admin/app/controller/Crud.php
可以自行对比修改了什么内容

下载地址

带php8.0和webman-admin(推荐,因为已经修改适配了sqlite,可直接使用)

https://wwck.lanzouj.com/iVI1w147bcgh
(链接已更新)

一定要以管理员权限启动,否则会报错

运行报错的话,请直接删除目录下的webcache目录,这个是用于保存cookie等网站缓存的目录

不想下载查看的话,可以去B站直接看视频效果。

【php已死?NO,不存在的,php webman 开发精美的桌面程序,支持跨平台-哔哩哔哩】 https://b23.tv/chizuiy

2023-08-02更新

有好多小伙伴反应说,不能正常运行,于是排查了一下,发现是那个monitor进程需要本地php环境变量,于是注释了monitor进程,重新上传压缩包。
并取消不带数据库版本,只保持一个带sqlite版本,避免大家走更多的弯路。
https://wwck.lanzouj.com/iVI1w147bcgh

12588 20 10
20个评论

永不言弃

有更详细的文档没

下载直接运行phpdesktop-chrome.exe? 好像不会自动启动webman。

  • Ace华 2023-07-31

    你是下载哪个版本的呢?

  • Ace华 2023-07-31

    建议下载 带sqlite版本的,自带官方的webman admin的

  • Ace华 2023-08-02

    已经更新了,下载后直接运行

  • Ace华 2023-12-17

    有新班了,更新了

liudada1204

下载的版本 2,用管理员方式启动的,报防火墙的错误,关了防火墙还是一样的错误,不知道是不是防火墙的问题。。。
这是错误日志,是我环境有问题吗

  • Ace华 2023-08-01

    虽然提示是防火墙的问题,但是其实大部分是管理员权限的问题

  • Ace华 2023-08-01

    如果你下载后没有改任何配置的话,大概就是管理员权限问题。如果你改了配置的话,请先确定在exe目录使用php\php.exe www\windows.php能够正常启动webman

  • Ace华 2023-08-02

    已经更新了,这次可以下载后直接运行

  • liudada1204 2023-08-03

    好的,感谢

  • Ace华 2023-12-17

    有新班了,更新了

liudada1204

使用php\php.exe www\windows.php可以正常启动

  • Ace华 2023-08-01

    那你有使用第三方资源管理器吗?比如,q-dir之类的,这类第三方资源管理器也一定要管理员权限

  • Ace华 2023-08-01

    或者,你可以先把那个webcache目录删除了,那个是网站的缓存,我看日志好像一直在移动这个目录

  • liudada1204 2023-08-01

    删掉webcache目录可以了 ,账号密码是啥。。。

  • Ace华 2023-08-01

    就是webman admin的账号密码,admin admin

  • Ace华 2023-12-17

    有新班了,更新了

镜子

可以安装和更新吗

  • Ace华 2023-08-19

    安装的话,自己下一个类似innosetup的打包exe软件就好,更新的话,需要自己写逻辑

sxmykj

支持swoole吗

  • Ace华 2023-08-19

    支持的,不过,还没测试过

ak47f16200

先点个赞。

  • 暂无评论
cbw7172002

ErrorException: mkdir(): No such file or directory in C:\Users\xifan\Documents\php\webman-phpdesktop-chrome-sqlite\www\vendor\workerman\workerman\Protocols\Http\Session\FileSessionHandler.php:176
Stack trace:

0 [internal function]: support\App::{closure}(2, 'mkdir(): No suc...', 'C:\Users\xifan\...', 176)

1 C:\Users\xifan\Documents\php\webman-phpdesktop-chrome-sqlite\www\vendor\workerman\workerman\Protocols\Http\Session\FileSessionHandler.php(176):

  • walkor 2023-09-14

    应该是php.ini中配置的session存储目录不存在

  • cbw7172002 2023-09-14

    对的 直接注释掉就行了

15209296066

楼主,怎么就编译成想要的exe文件啊?

  • 暂无评论
TM

学习

  • 暂无评论
cbw7172002

SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: wa_uploads.storage (SQL: insert into "wa_uploads" ("admin_id", "name", "url", "file_size", "mime_type", "image_width", "image_height", "ext", "category", "updated_at", "created_at") values (1, 7458ab2f-1813-4382-8b06-62a3a14a0b80.webp, /app/admin/upload/files/20230915/6503f5ed372a.webp, 122728, image/webp, 640, 1008, webp, 1, 2023-09-15 14:13:01, 2023-09-15 14:13:01))

  • 暂无评论
KingBes

再来个移动应用程序呗[狗头]

  • 暂无评论
初心by

直接运行 webman 不行吗,打包好的 vue 放在 public 下面 运行不起来

  • 初心by 2023-10-24

    还有关闭之后启动的cli进程没有关掉

  • hatn 2023-10-24

    对,多开关几次发现残留了好多的php.exe进程

  • Ace华 2023-12-17

    有新班了,更新了

zjkal✅

php开发windows确实没找到成熟好用的项目, 个人感觉这算最好的了, 表示支持!

  • 暂无评论
bigtran

cool

  • 暂无评论
songshu

亲测可用,打包成exe也可用,楼主666

Taotao

截图

解压出现这个,估计是图片有问题吧

  • 暂无评论
Ace华

新版本使用了 electron和webman的结合,https://www.workerman.net/a/1603
推荐使用

  • 暂无评论
ou315001655

为什么不直接支持mysql?

  • Ace华 2023-12-30

    可以支持呀,有新版的electron,建议用那个,都可以支持mysql,改下database.php

xsp

厉害,谢谢大佬分享

  • 暂无评论

Ace华

520
积分
0
获赞数
0
粉丝数
2023-02-14 加入
×
🔝