当前位置: 首页 > news >正文

如何将 ONLYOFFICE 文档集成到使用 Laravel 框架编写的 PHP 网络应用程序中

ONLYOFFICE 文档作为开源文档解决方案,提供与 Microsoft Office 高度兼容的编辑体验,并支持实时协作、版本控制等企业级功能。结合 Laravel 框架的高效开发能力,开发者可快速构建安全的文档协作平台。本文将深入解析如何通过 ONLYOFFICE 强大的 API,在 PHP Laravel 应用中实现专业的在线文档协作功能。

关于 ONLYOFFICE 文档

ONLYOFFICE 文档是多合一的文档编辑套件,支持文字、表格、幻灯片、PDF和表单的编辑与协作,高度兼容微软Office格式。易于使用和集成,可以在您的网站、平台或系统中高效处理多种类型的文档,实现文件格式间的便捷转换和无缝协作。

通过集成 ONLYOFFICE 文档,你的用户可以在你的 Go 网页应用中直接编辑和协作处理文档,而无需切换到其他工具,不仅可以提升用户体验,还能提高工作效率。

更多关于集成方面的信息,您可以了解我们的开发者版本:

ONLYOFFICE文档开发者版:集成至Web应用程序,实现文档编辑功能

请注意,本文提供的示例代码仅供测试和演示使用。在未进行适当代码调整的情况下直接用于生产环境。如果启用了测试示例,请确保在上线前将其禁用。

重要安全信息

在使用测试示例时,请注意以下安全事项:

  1. 未经授权的访问保护:测试示例中没有实现对存储的未经授权访问的保护,因为没有实现授权机制。
  2. 参数替换检查:测试示例中没有对链接中的参数替换进行检查,因为参数是由代码根据预设脚本生成的。
  3. 文件保存请求的数据检查:测试示例中没有对编辑后保存文件的请求进行数据检查,因为每个测试示例仅用于接收来自 ONLYOFFICE 文档的请求。
  4. 跨域使用限制:测试示例没有限制从其他站点的访问,因为示例的设计只在与另一个域上的 ONLYOFFICE 文档交互。

在生产环境中使用时,请注意上述安全问题。

使用 Laravel 集成 ONLYOFFICE 文档

步骤 1. 配置环境

示例应用的根目录包含一个 .env.example 文件,其中定义了常用的环境变量。请将该文件内容复制到项目目录下的 .env 文件中。

您可以在本文步骤 3. 配置 PHP(Laravel)示例部分中找到完整的环境变量列表。

步骤 2. 安装必备组件并使用编辑器运行网站

PHP(Laravel)示例提供了多种安装选项,但我们强烈建议使用 Docker。

选项 1. 使用 Docker 安装​ 

首先,您需要安装 Docker 桌面应用。该应用已内置 Docker 配置文件,只需运行几条命令即可启动项目,您也可根据个人需求自行修改这些配置。

1. 下载并解压发布压缩包到以下目录:

cd /my/php-laravel/projectcurl --output PHP.Laravel.Example.zip --location https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/PHP.Laravel.Example.zipunzip PHP.Laravel.Example.zipcd "PHP Laravel Example"

请修改 .env 文件中的 DOCUMENT_SERVER_JWT_SECRET 变量,该变量用于在 ONLYOFFICE 文档中配置 JWT 密钥。

2. 要运行容器,可以使用 make compose-start 命令来构建并启动项目,也可以手动执行相应命令

  • 构建并启动 Docker Compose:
docker compose build && docker compose up -d
  • 安装依赖项:
docker compose exec example composer install&& docker compose exec node npm install&& docker compose exec node npm run build
  • 为 Laravel 实例生成应用程序密钥:
docker compose exec example php artisan key:generate

停止 Docker 容器,可以运行 make compose-stop 或 docker compose down 命令

如果安装和配置顺利完成,您现在可以通过访问 localhost:80 来试用示例应用程序。

同时,您可以根据需要调整 nginx 配置和应用运行的端口

选项 2. 本地安装

在开始使用示例前,请先安装 ONLYOFFICE 文档。有关在 WindowsLinuxDocker 上的安装方法,请参考详细指南。

1. 安装准备

PHP >= 8.2

Node.js (16+) and NPM

Laravel (11) Server Requirements

2. 下载发布压缩包并解压至您选择的目录:

cd /path/to/my/projectscurl --output PHP.Laravel.Example.zip --location https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/PHP.Laravel.Example.zipunzip PHP.Laravel.Example.zipcd "PHP Laravel Example"

 3. 运行 make install 或手动执行以下命令:

  • 安装 Composer 依赖项
composer install
  •  安装前端依赖项并构建应用资源
npm install && npm run build
  •  为 Laravel 实例生成应用程序密钥
php artisan key:generate

如果安装和配置成功,您现在可以访问服务器地址来试用示例应用程序。 

步骤 3. 配置 PHP(Laravel)示例

PHP(Laravel)示例是通过更改环境变量来配置的。

变量名称

描述

示例

USER

系统中的用户名。

user

UID

系统中的用户 ID 号 (UID)。

1000

DOCUMENT_STORAGE_PUBLIC_URL

客户端用于与服务器通信的 URL 地址。

http://localhost

DOCUMENT_STORAGE_PRIVATE_URL

ONLYOFFICE 文档用于与服务器通信的 URL 地址。

http://proxy

DOCUMENT_SERVER_PUBLIC_URL

客户端用于与 ONLYOFFICE 文档通信的 URL 地址。

http://localhost:8080

DOCUMENT_SERVER_PRIVATE_URL

服务器用于与 ONLYOFFICE 文档通信的 URL 地址。

http://proxy:8080

DOCUMENT_SERVER_JWT_SECRET

JWT 授权密钥。

your-256-bit-secret

步骤 4. 检查可访问性

如果示例和 ONLYOFFICE 文档安装在不同的计算机上,请确保示例服务器能通过配置文件中指定的地址访问 ONLYOFFICE 文档,而不是使用默认的 documentserver

ONLYOFFICE 文档能通过配置文件中指定的地址访问示例服务器,而不是默认的 example.com

故障排除

如果您在框架的安装或配置方面遇到问题,请查看 Laravel 文档页面。

 通过 ONLYOFFICE 的 PHP SDK 与 Laravel 的优雅结合,开发者可快速构建企业级在线文档系统。

如果您在集成过程中遇到任何问题,可以参考 ONLYOFFICE API 文档获取帮助。

相关链接

如何将 ONLYOFFICE 文档集成到Go网页应用中

ONLYOFFICE 文档 9.0 开发者版:API 更新

下载 ONLYOFFICE 服务器解决方案

http://www.lryc.cn/news/591685.html

相关文章:

  • NO.7数据结构树|线索二叉树|树森林二叉树转化|树森林遍历|并查集|二叉排序树|平衡二叉树|哈夫曼树|哈夫曼编码
  • vue3 自定义vant-calendar header/footer/maincontent
  • Java数组中相关查找排序算法(1)
  • 力扣 hot100 Day47
  • 网络安全威胁下的企业困境与破局技术实践
  • Linux内核内存管理相关的配置参数
  • 电商行业如何做好网络安全工作?
  • 【web安全】DVWA反射型XSS漏洞分析与利用
  • RGBA图片格式转换为RGB格式(解决convert转换的失真问题)
  • 利用node.js在本地搭建简易http服务器
  • 快慢指针的应用
  • RCU机制及常见锁的理解
  • web安全入门 | 记新手小白初次尝试挖越权漏洞
  • Ansible AWX 自动化运维
  • 3t车用手动卧式千斤顶设计含8张CAD图纸PDF图
  • parallels desktop windows win10无法复制文件无法共享剪切板
  • [NIPST AI]对抗性机器学习攻击和缓解的分类和术语
  • RocketMq集群高可用
  • Java并发编程第三篇(深入解析Synchronized)
  • 系统引导修复(2)
  • 《Java语言程序设计》1.2.5 复习题
  • Spring Boot 分层架构详解:Controller、Service、Mapper...
  • SLG 游戏如何进行防破解和防盗版保护?
  • 《迭代器 VS 生成器:Python 惰性计算的两种实现方案详解》
  • Scrapy无缝集成Pyppeteer:异步无头浏览器爬虫架构实战
  • 中科固源深度解析:DoIP 协议原理、应用与安全防护全流程
  • cnpm命令报internal/modules/cjs/loader.js:797 throw err; ^ Error: Cannot find
  • 第12章 存储类、链接和内存管理
  • python学智能算法(二十二)|SVM-点与超平面的距离
  • Adam优化器