帝国cms上传图片出现Upload Error: 504错误

如题帝国cms上传图片出现Upload Error: 504错误

最后就是导致网站全部都是Upload Error: 504错误,然后你通过重启服务器或者过一段时间网站就会自己又好了,但是问题还是没有解决。

好了不多说了我直接说我怎么解决的吧~

关于我的服务器配置程序版本我就不想多说了,我上一篇关于帝国cms的文章里面有写:帝国cms给图片img标签自动添加alt为文章标题所遇到的问题

好了,开始吧~注意了我用的apache搭建的网站

一般来讲你去百度Upload Error: 504这个的时候出现大部分都会是说nginx.conf这个文件的配置,或者是nginx会出现的错误还有就是你搜不到。

Upload Error: 504这个问题主要是说上传错误,然后504,简单的讲就是:上传出现了错误然后服务器断开应该说超时了,所以才会导致出现这个的,那么我们怎么解决?

我是apache的所以我找到了php.ini文件只需要修改里面的:

max_execution_time = 30

改成

max_execution_time = 0

max_execution_time这个主要是讲最长执行时间是多少比如就是上传图片的时候超过了原本的30秒 那就断开了,自然就出现上面的那个啦~

所以改一下就好了

下面的没改之前和改了之后的图片:

最后记得保存,然后重启apache就可以了。

帝国cms给图片img标签自动添加alt为文章标题所遇到的问题

如题:帝国cms给图片img标签自动添加alt为文章标题所遇到的问题

我就不想多说什么, 主要是用于记录,怕自己忘记了。

首先声明我的是帝国cms7.2 的版本

我用了两个方法来设置:

第一个(这个方法我在本地测试是成功的,但是我放到阿里云ECS CentOS 7.3 64位的云服务器就出现了问题,具体问题我下面会说):

第一步:

打开/e/class/userfun.php文件最后的?>前面添加以下代码实现帝国CMS自动alt标签。
//帝国CMS给文章正文中的图片自动加alt
function user_AddImgAlt($mid,$f,$isadd,$isq,$value,$cs){
$value=stripSlashes($value);
$title=stripSlashes($_POST[‘title’]);
$title=str_replace(‘”‘,”,$title);
$zz2=”/\<(img|IMG) (.?)alt=\”(.?)\”(.?)>/is”;
$text=preg_replace($zz2,”<\1 \2\4>”,$value);
$zz1=”/\<(img|IMG) (.
?)>/is”;
$text=preg_replace($zz1,”<\1 alt=\”{$title}\” \2>”,$text);
return addslashes($text);
}

如图:

第二步:

登陆帝国CMS后台依次打开:系统-数据表与系统模型-管理数据表-管理字段(选择相应的数据表,在这里我是修改新闻系统数据表,请自行选择)

然后选择我框起来的那个 点击修改:

如图填上:user_AddImgAlt

然后提交就好了。

设置完这个确实是会有效果,但是会受到关键词的影响会导致你的alt出现html代码,所以完整的应该是这样的:

我找到e\class\下面的functions.php文件修改:

应该是在485行

$newstext=empty($public_r[repkeynum])?str_ireplace($r[keyname],'<a href=’.$r[keyurl].’ target=_blank class=infotextkey>’.$r[keyname].'</a>’,$newstext):preg_replace(‘/’.$r[keyname].’/i’,'<a href=’.$r[keyurl].’ target=_blank class=infotextkey>’.$r[keyname].'</a>’,$newstext,$public_r[repkeynum]);

变成:

$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],”.$r[keyname].”,$newstext):preg_replace(‘/(?!<[^>]*)’.$r[keyname].'(?![^<]*>)/’,”.$r[keyname].”,$newstext,$public_r[repkeynum]);

如图:

本来是这样的:

变成这样:

这样就好了。

然后就是关于我上面说到的放到阿里云就不行了的问题:

会出现这样的问题

<p>&nbsp;<img alt=”\&quot;完美女神曾水私房秀翘臀美胸很销魂\&quot;” src=”\&quot;/d/file/2017-04-08/684235e4989c7faed8e2d30f800590ae.jpg\&quot;” border=”\&quot;000\&quot;” /><br />
[!–empirenews.page–]</p>
<p align=”\&quot;center\&quot;”><img alt=”\&quot;完美女神曾水私房秀翘臀美胸很销魂\&quot;” src=”\&quot;/d/file/2017-04-08/75cc5bcd84940a0414060cffc41c2783.jpg\&quot;” border=”\&quot;000\&quot;” /></p>

这是我保存之后出现的多了一个:\&quot; 这个在html里面是个双引号,不是什么怎么产生的,但是我就修改了那些东西,所以最终确定是在做了第一步之后出现的。

所以就出现了另外一个给alt自动添加文章标题的方法(这个方法就没有那个问题,然后也是需要做上面的受到关键词影响的那一步的):

一样打开/e/class/userfun.php文件最后的?>前面添加以下代码实现帝国CMS自动alt标签。

//替换正文IMG里的ALT内容
function user_imgalt($mid,$f,$isadd,$isq,$value,$cs){
    $title=$_POST['title'];
    $htmls=$value;
    $pattern "/<img[^>]+>/"
    preg_match_all($pattern$htmls$matches); 
    for ($i=0; $i<=count($matches[0]); $i++) {
      preg_match_all("/alt=\".+?\"/",$matches[0][$i],$altimg); 
        $t_alt=count($altimg[0]);
        if($t_alt==0){
            $htmls=str_replace("<img","<img alt=\"{$title}\"",$htmls);
        }
    }   
        return $htmls;
}
如图:

登陆帝国CMS后台依次打开:系统-数据表与系统模型-管理数据表-管理字段(选择相应的数据表,在这里我是修改新闻系统数据表,请自行选择)

然后选择我框起来的那个 点击修改:

如图填上:user_imgalt

点击提交就好。

记住这个也是会受到关键词的影响会导致你的alt出现html代码的,所以还是需要去修改上面的说的哪一步的。自己去看!