当前位置: 首页 > 后端技术 > PHP

onlyoffice踩坑记录

时间:2023-03-29 20:09:44 PHP

以下问题都是在PHP环境下遇到的1.file_get_contents函数配置不正确导致的问题重新打开同一个文档无限弹出“文件版本已更改。页面将bereloaded”在线编辑的内容实际上并没有保存到服务器上的真实文件中。在线编辑的内容保存后还是空白。解决方法是查看PHP配置中是否启用了extension=php_openssl.dll和allow_url_fopen=on,以及是否禁用了file_get_contentsError这是因为无法正常打开file_get_contents,导致无法在save中写入内容callback2.apache环境下Authorization配置不正确导致的问题打开token后无法打开文档,一直弹出“无法保存文档”或“无法保存”的解决方法这个是因为apache不能正常解析Authorization。在入口文件RewriteCond%{HTTP:Authorization}的.htaccess文件中添加以下代码。RewriteRule.*-[E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]3.服务端中间件(nginxORapache)没有设置跨域文件下载导致的问题。打开协作->版本历史无法正常使用,解决办法一直是“打开文件”。这是因为Demo在打开版本历史时会下载一个zip文件,但是由于没有跨域导致无法正常下载zip文件。我们只需要在nginx或者apache对应域名的配置文件中设置跨域即可。以下nginx示例服务器{listen80;服务器名称test.com;root"C:/Users/root/Desktop/onlyoffice-php";add_header'Access-Control-Allow-Origin''*';add_header'访问控制允许方法''*';add_header'Access-Control-Allow-Headers''*';}4.打开jwt和历史记录导致无法正常打开的问题1.点击历史版本弹出(官方例子也会这样)原因和方法一,这是因为文档服务器开启了jwt验证,但是你的历史数据没有携带jwt生成的token导致的问题(2020.12.20官方的例子也会这样)。解决方法1、修改官方示例(php示例),打开doceditor.php->找到getHistory函数。红框里的是生成一次token。这很好===========================================================================================================================================================================================================================================================documentserver/web-apps/apps知道这个路径,可以直接在文档中注入js(你懂的)。直接修改js文件是没有用的。修改后必须重命名或删除对应的.gz文件