emlog后台在线安装模提示失败的问题分析和解决办法

emlog升级后,后台模版及插件出现“下载失败,可能是服务器网络问题,请手动下载安装”?在线应用安装失败的问题进行google查找,有果,记录下来。


首先我们打开路径/admin/globals.php,

我们可以看到第10行,官方服务域名为 http://www.emlog.net/  但是现在emlog全局都加了https

所以如果你的后台是https的,请一定要先修改这行为 https://www.emlog.net/ 之后才能正常访问在线应用页面

然后我们随便选一款模版进行安装。

当点击安装后,会提示 模板下载失败,可能是服务器网络问题,请手动下载安装,返回应用中心

到这里不要慌张,连忙审查一波。


由上图看到 source 参数传递 的值为 

/template/download/676

然后我们点到preview可以看到如下内容

<br /> <b>Warning</b>:  fopen(https://www.emlog.net//template/download/676): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in <b>D:\phpStudy\PHPTutorial\WWW\include\lib\function.base.php</b> on line <b>808</b><br />

对没错,就是这个报错了,意思就是FOpen(https://www.emlog.net//template/download/676):打开流失败:HTTP请求失败!HTTP / 1.1 404未找到

为什么会找不到呢?细心的小朋友应该会发现问题答案了。没错https://www.emlog.net/后面还有一个/符号,所以这个多的是哪儿来的呢?

然后我们回到上一步,审查安装这个按钮的链接


urldecode之后的链接就是http://localhost/admin/store.php?action=instpl&source=/template/download/676

也就是之前source传递的参数/template/download/676

那么官方服务域名一直没动过的情况下,链接参数发生改变,应该就是官方加了 / 符号了,至于为什么加,原因未知。

现在解决有两种办法

1、修改官方服务域名地址为https://www.emlog.net

      如果是小白可以修改这一行,从而解决这个问题。

      但是你修改官方服务域名的话,从引发另外一个问题,就是你的后台应用直接会访问不了。

为什么访问不了?还是冷静分析一波。

打开路径/admin/views/store.php(这里使用的是官方的主题目录,如果你换过主题找自己主题的目录文件即可)


上图中的第4行,我们可以看到

src="<?php echo OFFICIAL_SERVICE_HOST;?>store/<?php echo Option::EMLOG_VERSION; ?>/<?php echo $site_url_encode; ?>"

<?php echo OFFICIAL_SERVICE_HOST;?>为官方服务域名,之后的store为二级路径,这之间没有 / 符号分隔,所以访问的地址就会变成

https://www.emlog.netstore/5.3.1/aHR0cDovL2xvY2FsaG9zdC8%3D

显然这个地址是不对的,在<?php echo OFFICIAL_SERVICE_HOST;?>后面加上一个 /  符号即可。这样就可以完美修复了。


2、把source参数的第一个 / 符号使用函数替换掉

    如果是大佬可以试试。

    如果要改source传递的参数,需要打开路径/amdin/store.php

    我们可以看到第38行$source = isset($_GET['source']) ? trim($_GET['source']) : '';就是接收source参数的地方。

    我们直接修改第44行$temp_file = emFecthFile(OFFICIAL_SERVICE_HOST . $soure);为

$temp_file = emFecthFile(OFFICIAL_SERVICE_HOST . preg_replace('/\//', '', $source, 1));

    就可以替换删除第一个 / 符号了


本博客所有文章如无特别注明均为原创。作者:yhaoo复制或转载请以超链接形式注明转自 yhaoo的菠萝格
原文地址《emlog后台在线安装模提示失败的问题分析和解决办法
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)