2017-11-01 10 views
0

Revive 4.1.1のキャンペーンにhtml5バナーを追加して「変更を保存」をクリックすると、管理者に空のページが表示されます。 Apacheのエラーログには次の情報が含まれています:Revive 4.1.1でhtml5バナーを追加するとPHPの致命的なエラーが発生する:Plugin_BannerTypeHTML_delivery_adRender

PHP Fatal error: Cannot redeclare Plugin_BannerTypeHTML_delivery_adRender() (previously declared in /home/applinet/local/ads/www/lib/OX/Extension/bannerTypeHtml/bannerTypeHtmlDelivery.php:31) in /home/applinet/local/ads/www/lib/OX/Extension/bannerTypeHtml/bannerTypeHtmlDelivery.php on line 31

何が原因でしょうか?

Debian 9.2 LinuxでPHP 7.0とMySQL 5.5でRevive 4.1.1(それ以前のバージョンからアップグレードしてOpenXを使用しています)を使用しています。

+0

同じファイルを2回含む/必要としていますか?もしそうなら、あなたは 'include_once'や' require_once' _(注:私はあなたが使っていることについて知りません、本当にPHPだけ)_を使いたいかもしれません。 – FirstOne

答えて

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ブロックにラップします。

私はそれが汚れた修正だと言った。

関連する問題