https协议下,makeAll无法响应的问题

#1 jie

你好!

今天试了下将域名启用https协议,但这导致网站后台使用了makeAll方法的生成静态事件,一直无法响应;
请问是否有相应的文件补丁?

2018-03-12 10:58:03

#2 jie

求大神指点

2018-03-12 11:05:44

#3 jake

https用于传送加密内容,静态生成就别在https下面用了,这是我的建议。


2018-03-12 13:55:22

#4 jie

jake 发表于 2018-3-12 13:55
https用于传送加密内容,静态生成就别在https下面用了,这是我的建议。

如果希望改,自己参考代码对make方 ...
感谢回复!

除了修改make()方法外,sp框架还有什么地方会有限制https使用么?

一定要适用https以及静态功能,会对目前的网站有什么其他不知的bug出现么?

2018-03-12 14:06:04

#5 jake

jie 发表于 2018-3-12 14:06
感谢回复!

除了修改make()方法外,sp框架还有什么地方会有限制https使用么?
框架本身不会限制什么HTTPS的使用,

HTML生成只是CMS例子演示的一个程序,


另外,CMS例子本身已经做了HTTPS的兼容,这里是源码https://github.com/SpeedPHP/example-cms/blob/master/part4/src/protected/model/HtmlMaker.phpL94

不知道你的问题从哪里来的。

2018-03-12 16:22:06

#6 jie

jake 发表于 2018-3-12 16:22
框架本身不会限制什么HTTPS的使用,

HTML生成只是CMS例子演示的一个程序,
好像我们用的版本号不一样,我也不太清楚我的这个是啥版本..

因为是在被人的基础上修改的代码;

public function make($spurl, $alias_url = null, $update_mode = 2)
        {
                if(1 == spAccess('r','sp_html_making')){$this->spurls[] = array($spurl, $alias_url); return;}
                @list($controller, $action, $args, $anchor) = $spurl;
                if( $url_item = spHtml::getUrl($controller, $action, $args, $anchor, TRUE) ){
                        @list($baseuri, $realfile) = $url_item;$update_mode = 1;
                }else{
                        $file_root_name = ( '' == $GLOBALS['G_SP']['html']['file_root_name'] ) ?
                                                                        '' : $GLOBALS['G_SP']['html']['file_root_name'].'/';
                        if( null == $alias_url ){
                                $filedir = $file_root_name .date('Y/n/d').'/';
                                $filename = substr(time(),3,10).substr(mt_rand(100000, substr(time(),3,10)),4).".html";
                        }else{
                                $filedir = $file_root_name.dirname($alias_url) . '/';
                                $filename = basename($alias_url);
                        }
                        $baseuri = rtrim(dirname($GLOBALS['G_SP']['url']["url_path_base"]), '/\\')."/".$filedir.$filename;
                        $realfile = APP_PATH."/".$filedir.$filename;
                }
                if( 0 == $update_mode or 2 == $update_mode )spHtml::setUrl($spurl, $baseuri, $realfile);
                if( 1 == $update_mode or 2 == $update_mode ){
                        $remoteurl = 'http://'.$_SERVER["SERVER_NAME"].':'.$_SERVER['SERVER_PORT'].
                                                                                '/'.ltrim(spUrl($controller, $action, $args, $anchor, TRUE), '/\\');
                        $cachedata = file_get_contents($remoteurl);
                        if( FALSE === $cachedata ){
                                $cachedata = $this->curl_get_file_contents($remoteurl);
                                if( FALSE === $cachedata )spError("无法从网络获取页面数据,请检查:
1. spUrl生成地址是否正确!点击这里测试
2. 设置php.ini的allow_url_fopen为On。
3. 检查是否防火墙阻止了APACHE/PHP访问网络。
4. 建议安装CURL函数库。");
                        }
                        __mkdirs(dirname($realfile));
                        file_put_contents($realfile, $cachedata);
                        // print_r($realfile);exit();
                }
        }

2018-03-12 17:08:49

#7 jake

jie 发表于 2018-3-12 17:08
好像我们用的版本号不一样,我也不太清楚我的这个是啥版本..

因为是在被人的基础上修改的代码;
哦,说的是旧版对吧,那就替换http吧。

另外,框架不提供修改版的技术支持的,所以建议是找回原来修改的人来进行修改。

2018-03-12 17:25:01

#8 jie

jake 发表于 2018-3-12 17:25
哦,说的是旧版对吧,那就替换http吧。

另外,框架不提供修改版的技术支持的,所以建议是找回原来修改的 ...
旧版的框架,是否支持升级为最新版,有没有相应的框架升级教程?

2018-03-13 08:12:18

#9 jake

jie 发表于 2018-3-13 08:12
旧版的框架,是否支持升级为最新版,有没有相应的框架升级教程?
两套程序不兼容。

2018-03-13 09:11:56