windows服务器更新主题/插件提示“更新失败 HTTP 500”错误的解决方案

李洋博客今天25阅读0评论

最近不是更新了【李洋博客APP】客户端吗,但是有人在插件后台更新主题/插件的时候提示“更新失败:HTTP 500”,我最开始以为是我的代码写错了,搞了好久都没有头绪,后台开启了调试模式,把错误代码:

[Error] (2) : is_dir(): open_basedir restriction in effect. 
File(
    C:/wwwroot/zblog.app/zb_users/theme/simplee/*.code-workspace
  )
  is not within the allowed path(s): 
    (
        C:/wwwroot/zblog.app/;
        C:/Windows/Temp/;
        C:/Temp/;
        C:/BtSoft/temp/session/
    )
    (set_error_handler) (1.7.5.3540 (Optimus)
)

问题原因

代码尝试用 is_dir() 检查包含通配符的路径 *.code-workspace,但 PHP 的 open_basedir 限制不允许这种路径格式。涉及是zblog程序的官方文件:zb_system/function/lib/app.php 第 646 行,当然我们不能去修改官方文件,本质原因也不在这,如图,更新失败。

windows服务器更新主题/插件提示“更新失败 HTTP 500”错误的解决方案 第1张

错误提示的相关界面,只是我很好奇*.code-workspace 是什么? 网站根目录下不应该也没有这个文件啊,还有可能是你本地的代码编辑器(比如 Visual Studio Code)在项目文件夹中自动生成的工作区配置残留-1-3-13。is_dir(C:/wwwroot/zblog.app/zb_users/theme/simplee/*.code-workspace) 这行代码尝试把带通配符 * 的路径当成目录去判断,这本身就是一个不正确的操作,所以一直失败-1。

windows服务器更新主题/插件提示“更新失败 HTTP 500”错误的解决方案 第2张

解决方案

首页登录宝塔服务器,左侧菜单【网站】在弹出的界面,找到【网站目录】,关闭【防跨站攻击】,如图:

windows服务器更新主题/插件提示“更新失败 HTTP 500”错误的解决方案 第3张

系统提示设置成功,然后返回博客插件后台重新刷新页面,更新主题/插件,你就会发现更新成功啦。

windows服务器更新主题/插件提示“更新失败 HTTP 500”错误的解决方案 第4张

我在网上也查找了相关问题,但是都没有成功解决,只有关闭 open_basedir 也就是【防跨站攻击】才能解决,另外就是仅限wndows服务环境下,Linux没有任何问题,所以如果出现此问题的朋友请尝试关闭【防跨站攻击】或者干脆更换Linux系统,毕竟现在的可操作性面板很多,就算是小白也能清晰的操作。不是说关闭了就会被攻击哈,没有的事,只是闭后失去了一段防线防跨站攻击保护而已。

终极方案更新插件

最后的最后,如果你不想关闭【防跨站攻击】又想在线更新主题,那就更新插件吧,哈哈哈~~~为什么写在最后呢?防止你走神不看全文章呗。传送门地址:https://www.itlaoli.com/blog/907.html,去吧,更新去吧,这回解决了不少小问题,用户体验直接堆满,好了,有问题留言反馈,我再去看看有没有其他的解决方案。

文章版权声明:除非注明,否则均为李洋博客原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,25人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码