Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NativePHP桌面版篇〡新手必学入门实践指南

NativePHP桌面版篇〡新手必学入门实践指南

作者头像
Tinywan
发布于 2025-04-22 04:45:43
发布于 2025-04-22 04:45:43
22101
代码可运行
举报
文章被收录于专栏:开源技术小栈开源技术小栈
运行总次数:1
代码可运行

概述

NativePHP 是一种通过将 PHP 代码编译成原生二进制代码,使开发者能够使用 PHP 语言来构建原生应用程序。与传统的 PHP 脚本不同,NativePHP 应用程序可以直接在操作系统的本机环境中运行,无需依赖 Web 服务器解释器2025.4.13 NativePHP桌面版V1.0正式发布。

环境要求

  1. PHP 8.3+
  2. Laravel 11或者更高
  3. Node 22+
  4. Windows 10+ / macOS 12+ / Linux

NativePHP 的最佳开发体验是直接在开发计算机上运行 PHP 和 Node。

请注意,虽然可以从虚拟化环境或容器开发和运行应用程序,但您可能会遇到更多意外问题,并且需要更多手动步骤来创建工作版本。

示例项目

克隆示例代码

官方仓库:https://github.com/NativePHP/kitchen-sink

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
git clone git@github.com:NativePHP/kitchen-sink.git

安装后端依赖

通过composer工具安装依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer install

出现以下界面表示安装成功,否则请自行根据错误提示解决环境和依赖包冲突问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
>@phpartisanpackage:discover--ansi

   INFODiscoveringpackages.

laravel/dusk.......................................DONE
laravel/tinker.....................................DONE
livewire/livewire.....................................DONE
nativephp/electron.....................................DONE
nativephp/laravel.....................................DONE
nesbot/carbon.....................................DONE
nunomaduro/collision.....................................DONE
nunomaduro/termwind.....................................DONE

安装前端依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm i

启动开发模式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer native:dev

请确保命令全部执行完成出现以下界面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> Composer\Config::disableProcessTimeout
> npx concurrently -c "#93c5fd,#fb7185" -k "php artisan native:serve --no-interaction""npm run dev" --names=app,vite
[vite] 
[vite] > dev
[vite] > vite
[vite]
[vite] 
[vite]   VITE v6.2.5  ready in563 ms
[vite]
[vite]   ➜  Local:   http://localhost:5173/
[vite]   ➜  Network: use --host to expose
[app]
[app]   Starting NativePHP dev server... 
[app]
[app]  Fetching latest dependencies...
[app]
[app]  Installing NPM dependencies (This may take a while)...
[app]
[app]  Installing NPM dependencies using the npm package manager...
[app]
[app]  Fetching latest dependencies...
[app]
[vite] 
[vite]   LARAVEL v12.8.1  plugin v1.2.0
[vite]
[vite]APP_URL: http://kitchen-sink.test
[app] 
[app]  Starting NativePHP app
[app]
[app]   Copying latest CA Certificate... 
[app]
[app]  Running the dev script with npm...
[app]
[app]  Fetching latest dependencies...
[app]

就是这样!您现在应该看到您的 Laravel 应用程序在本机桌面窗口中运行。 🎉

或者实现一个自己的登录界面

构建发布

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php artisan native:build 

构建成功的话,会在目录下生产一个dist文件夹,双击exe文件,即可运行桌面应用

自定安装

安装NativePHP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
composer require nativephp/electron

或者指定PHP版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ /usr/local/php-8.3.20/bin/php /home/build/composer.phar require nativephp/electron

安装依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php artisan native:install

运行开发模式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php artisan native:serve

常见错误

Q1:MissingAppKey 错误

提示错误Laravel :Illuminate\Encryption\MissingAppKeyException No application encryption key has been specifi

如果你还没有设置 APP_KEY,你可以通过以下命令来生成一个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
php artisan key:generate

确保你的 .env 文件中包含了正确的 APP_KEY。你可以这样查看或确认它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
APP_KEY=base64:你的密钥字符串

Q2:前端启动异常

启动报错vite handling the native:dev event returned with error code 1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
--> Sending SIGTERM to other processes..
Script npx concurrently -c "#93c5fd,#fb7185" 
-k "php artisan native:serve --no-interaction" 
"npm run dev" --names=app,vite handling the native:dev event returned with error code 1     

请确保你已经安装了前端依赖,即执行npm i命令

Q3:服务启动异常

错误提示package.json has a "packageManager" field

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ npm i
This project is configured to use yarn because 
\vendor\nativephp\electron\resources\js\package.json has a "packageManager" field

这个错误提示是由于package.json依赖包已经有这个文件了,删除"packageManager": "npm@11.3.0+sha512.96eb611483f49c55f7fa74df61b588de9e213f80a256728e6798ddc67176c7b07e4a1cfc7de8922422cbce02543714367037536955221fa451b0c4fefaf20c66" 这个配置即可,删除后再通过命令npm i重新安装依赖

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
NativePHP桌面版篇〡服务启动运行流程图
NativePHP 是一种通过将 PHP 代码编译成原生二进制代码,使开发者能够使用 PHP 语言来构建原生应用程序。与传统的 PHP 脚本不同,NativePHP 应用程序可以直接在操作系统的本机环境中运行,无需依赖 Web 服务器或解释器。
Tinywan
2025/04/21
1080
NativePHP桌面版篇〡服务启动运行流程图
NativePHP 的技术原理和实现细节
这篇文章主要想探讨一下 NativePHP 的实现细节、使用了哪些技术、它的生命周期和工作原理等,如果文章中有任何纰漏,欢迎留言指正。
Tinywan
2023/09/06
8270
NativePHP 的技术原理和实现细节
Laravel + Vue 3(Vite、TypeScript)SPA 设置
在本教程中,我将向大家展示如何使用 Laravel + Vue 3 使用 typescript 和 Vite 设置你自己的单页应用程序。
海拥
2023/01/13
2.9K0
Laravel + Vue 3(Vite、TypeScript)SPA 设置
vite+react-ts+electron 开发桌面端
https://gitee.com/dmhsq/react-ts-vite-electron
代码哈士奇
2022/03/16
1.7K0
Laravel框架学习 -- 安装
Laravel 利用 Composer(Composer 中文)来管理其自身的依赖包。
lpe234
2020/07/27
1.9K0
记一次 Laravel5 升级到 Laravel10 经过 + 使用 octane 进行容器化
seth-shi
2024/04/29
2500
laravel 集成 vue3 的前端项目
现在大多项目都是前后端分离的,但是如果前后端都是一个人做,前后端来回切也挺不方便的。
崔哥
2024/05/15
6530
Laravel 广播
安装请移步 https://www.cuiwei.net/p/1659113677
崔哥
2023/03/24
2.7K0
Laravel 广播
php系列二之phpstorm Xdebug和laravel常见问题整理
因为 php artisan migrate:make 是 Laravel 4 的语法,而 Laravel5 已经换成了 php artisan make:migration
山行AI
2019/11/23
3.6K0
php系列二之phpstorm Xdebug和laravel常见问题整理
Electron13+Vue3+ElementPlus模仿macOS桌面版后台系统框架
electron-vue3-macOS 一款整合vite2.x+electron13跨平台构建模仿mac桌面UI后台管理系统。
andy2018
2021/06/24
3.2K2
Electron13+Vue3+ElementPlus模仿macOS桌面版后台系统框架
Laravel5.8开发环境搭建与CRUD应用实践
在这个面向初学者的教程中,我们将学习如何使用最新的PHP开发框架Laravel 5.8,来创建一个基于MySQL数据库的Web应用,实现联系人的增删改查功能。
用户1408045
2019/08/25
6.5K0
PHP-Casbin初学者快速入门套件 StarterKits
CasbinStarterKits是PHP-Casbin 的初学者工具包,基于 Laravel-Authz 构建,带有 Vue 3 和 Tailwind CSS 前端。
Tinywan
2024/11/21
1350
PHP-Casbin初学者快速入门套件 StarterKits
基于 RoadRunner 驱动 Octane 构建高性能 Laravel 应用
Laravel Octane 已于昨天发布了 Beta 版,关于 Laravel Octane 学院君在之前专门发布过一篇文章简单介绍过,这是 Laravel 官方提供的基于 Swoole/RoadRunner 构建高性能 Laravel 应用的解决方案,现在你可以按照官方文档安装这个扩展包并进行测试。
学院君
2023/03/03
2.2K0
基于 RoadRunner 驱动 Octane 构建高性能 Laravel 应用
使用Vite创建一个动态网页的前端项目
虽然现在的前端更新换代的速度很快,IDE和工具一批批的换,但是我们始终要理解一点基本的程序构建的思维,这些环境和工具都是为了帮助我们更快的发布程序。笔者还记得以前写前端代码的时候,只使用文本编辑器,然后在浏览器中刷新就可以了。对于纯前端项目,其实这样也是很方便的。不过一旦涉及到文件资源访问的问题就麻烦了,因为浏览器的安全限制,不能访问域以外的资源。那么你就需要将其部署到Web服务器中,这意味着你要起个服务器。另外,调试的时候也要每次都刷新页面;第三方依赖包的引入也是问题,需要自己去管理,然后进行引入。于是,像Vite这样的前端开发与构建工具就出现了,它可以帮助你将上述这些步骤自动化处理,加快你的前端程序的编程效率。这里笔者就总结一下如何使用Vite创建动态网页的前端项目。
charlee44
2025/05/22
2240
使用Vite创建一个动态网页的前端项目
牛哇,PHP这个开发框架真的好香!
之前写Java的mybatis各种sql的和字段的处理,试过php开发之后,确实很快啊。而且我也是从Java,golang裸转的php。这里不谈那种语言好坏之分。开发来说,拥抱技术,拥抱变化,公司用什么技术栈,你就用什么技术。熟练开发就好了。
千羽
2023/11/20
6530
牛哇,PHP这个开发框架真的好香!
IT开源资产管理与工作单系统介绍使用
描述:最近接手了公司的固定资产的管理工作,一看到用Excl记录的固定资产信息我就产生了一种想法,手工(上/下帐)管理太麻烦了于是找一款开源的固定资产管理进行管理。
全栈工程师修炼指南
2022/09/29
7.4K2
IT开源资产管理与工作单系统介绍使用
mark-text开发环境搭建启动
https://github.com/VampireAchao/marktext.git
阿超
2023/07/08
2880
mark-text开发环境搭建启动
IT打工人利器:推荐两款开源的公司固定资产管理工具
描述:最近接手了公司的固定资产的管理工作, 一看到用Excl记录的固定资产信息我就产生了一种想法, 手工(上/下帐)管理太麻烦了于是找一款开源的固定资产管理进行管理。
全栈工程师修炼指南
2024/04/10
7.3K0
IT打工人利器:推荐两款开源的公司固定资产管理工具
Electron: 如何以 Vue.js, Vuetify 开始应用
看完以上介绍,也明白了本文要做的事:用 Vue.js 与 Vuetify 组件,基于 Electron 来创建原生桌面应用。
GoCoding
2021/05/06
1.6K0
Electron: 如何以 Vue.js, Vuetify 开始应用
如何开发Vite3插件构建Electron开发环境
开发新版本 Vue 项目推荐你使用 Vite 脚手架构建开发环境,然而 Vite 脚手架更倾向于构建纯 Web 页面,而不是桌面应用,因此开发者要做很多额外的配置和开发工作才能把 Electron 引入到 Vue 项目中,这也是很多开发者都基于开源工具来构建 Electron+Vue 的开发环境的原因。
liulun
2022/11/18
1.8K0
如何开发Vite3插件构建Electron开发环境
相关推荐
NativePHP桌面版篇〡服务启动运行流程图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验