如何将 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/project
    curl --output PHP.Laravel.Example.zip --location https://github.com/ONLYOFFICE/document-server-integration/releases/latest/download/PHP.Laravel.Example.zip
    unzip PHP.Laravel.Example.zip
    cd "PHP Laravel Example"

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

  1. 要运行容器,可以使用 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

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

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

  2. 运行 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 服务器解决方案

相关推荐
工控小楠2 小时前
CCLink IE转ModbusTCP网关配置无纸记录器(中篇)
服务器·网络·php
失因3 小时前
H3CNE 综合实验二解析与实施指南
运维·开发语言·网络·智能路由器·php
kp000004 小时前
PHP strip_tags() 函数详解
网络安全·php
计算机毕设定制辅导-无忧学长7 小时前
性能优化实践:Modbus 在高并发场景下的吞吐量提升(二)
网络·性能优化·php
Q_Q19632884758 小时前
python的抗洪救灾管理系统
开发语言·spring boot·python·django·flask·node.js·php
VCR__10 小时前
VLAN实验
服务器·开发语言·php
星释1 天前
WAMP允许远程访问
php·apache·wamp
用户3074596982071 天前
🧠 PHP 变量从零开始讲明白(小白也能看懂)
后端·php
2301_780789661 天前
网络劫持对用户隐私安全有何影响?
网络·安全·php