在Revive 4.1.1中添加html5横幅会导致PHP致命错误:无法重新声明Plugin_BannerTypeHTML_delivery_adRender

时间:2017-11-01 14:21:09

标签: php openx

当我在Revive 4.1.1中为广告系列添加html5横幅并点击“保存更改”时,我会在管理员中找到一个空白页面。 Apache错误日志包含:

  

PHP致命错误:无法重新声明/ home / applinet / local / ads中的Plugin_BannerTypeHTML_delivery_adRender()(之前在/home/applinet/local/ads/www/lib/OX/Extension/bannerTypeHtml/bannerTypeHtmlDelivery.php:31中声明)第31行的/www/lib/OX/Extension/bannerTypeHtml/bannerTypeHtmlDelivery.php

可能导致这种情况的原因是什么?

我在Debian 9.2 Linux上使用Revive 4.1.1(之前从4.0和OpenX升级)和PHP 7.0和MySQL 5.5。

1 个答案:

答案 0 :(得分:0)

我会说你应该找到再次声明函数的位置并将其删除。然而....

对此的肮脏修复是这样的; 找到Plugin_BannerTypeHTML_delivery_adRender()函数的声明位置(在bannerTypeHtmlDelivery.php中的外观)

然后添加此代码;

if (!function_exists('Plugin_BannerTypeHTML_delivery_adRender')) {
    // the funtion doesnt already exists so declare it here
function Plugin_BannerTypeHTML_delivery_adRender(){
//all the function stuff here.
}
} 

澄清....只需将现有函数包装在if块中。

正如我所说,这是一个肮脏的修复。