Неустранимая ошибка: невозможно переопределить происходящее на той же строке - PullRequest
4 голосов
/ 26 июля 2010

Я боролся с этой ошибкой некоторое время.Ошибка где-то в функции, которую я теперь имею, php говорит мне, что она не может переопределить переменную в той же строке ... странно.Любая помощь будет отличной.

Неустранимая ошибка: невозможно повторно объявить bp_block_admin_init () (ранее объявленный в /home/bp-member-login-redirect/bp-member-login-redirect-loader.php:31) в / home /bp-member-login-redirect / bp-member-login-redirect-loader.php в строке 31

строк 29-31

// make sure buddypress is installed
function bp_block_admin_init() {
    require_once( dirname( __FILE__ ) . '/bp-member-login-redirect-core.php' );}

строк, фактически вызывающих функцию(я получаю ошибку с или без этих строк в коде:

if (defined( 'BP_VERSION' ))
bp_block_admin_init();
else
add_action( 'bp_init', 'bp_block_admin_init' );

Ответы [ 5 ]

9 голосов
/ 26 июля 2010

Убедитесь, что вы используете require_once, чтобы убедиться, что вы не загружаете файл bp-member-login-redirect-loader.php дважды.

require_once '/home/bp-member-login-redirect/bp-member-login-redirect-loader.php';
4 голосов
/ 29 июля 2010

Проблема была с функцией WordPress: register_activation_hook, которая активируется при загрузке плагина. Этот код является частью плагина WordPress. Я запустил файл за пределами WordPress с удаленными функциями и не получил ошибок.

Спасибо всем за помощь, Brooke

2 голосов
/ 26 июля 2010

Скорее всего, вы включаете bp-member-login-redirect-loader.php более одного раза. Например, для воспроизведения вашей проблемы достаточно:

test.php

<?php
function foo() {}
?>

test2.php

<?php
include('test.php');
include('test.php'); // Double definition of foo() on test.php:2
?>
2 голосов
/ 26 июля 2010

Похоже, bp_block_admin_init определяется дважды. В каком файле появляется этот код? Другой файл require -ing или include -ing этот файл несколько раз?

1 голос
/ 26 июля 2010

Пожалуйста, проверьте, существует ли уже функция bp_block_admin_init().

if(!function_exists('bp_block_admin_init'){
  function bp_block_admin_init(){
    //....
  }
}
...