Neden PHP Hata: olmayan bir nesne üzerinde bir üye işlev set_prefix () Çağrı

1 Cevap php

Ben bu hata var

Fatal error: Call to a member function set_prefix() on a non-object in /home/reboltutorial/reboltutorial.com/wp-settings.php on line 254

hat 254 içerir:

$prefix = $wpdb->set_prefix($table_prefix); // set up global tables

Bunun yerine bu iki satır çağıran index_wordpress () çağırmak çalışırsanız oluşur

    define('WP_USE_THEMES', true);  
    require('./wp-blog-header.php');  

bu nedenle bu işe yaramazsa:

<?php

    function index_wordpress() {
        define('WP_USE_THEMES', true);  
        require('./wp-blog-header.php');  
    }
?>    

<?php

    if(!function_exists('apache_request_headers')) {
        function apache_request_headers() {
            $headers = array();
            foreach($_SERVER as $key => $value) {
                if(substr($key, 0, 5) == 'HTTP_') {
                    $headers[str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))))] = $value;
                }
            }
            return $headers;
        }
    }

    function getCurrentPageUrl() {
     $pageURL = 'http';
     if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
     $pageURL .= "://";
     if ($_SERVER["SERVER_PORT"] != "80") {
      $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     } else {
      $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }
     return $pageURL;
    }    

    $a =  apache_request_headers();

    $pos = strrpos($a["User-Agent"], "REBOL");
    if ($pos === false) {
        index_wordpress();
    } else {

      if ($_SERVER['REMOTE_ADDR'] != "69.163.203.14") {
        $command= './cgi-bin/index.cgi '. '"' . getCurrentPageUrl() . '"';
        echo system($command);
      } else {
        index_wordpress(); 
      }
    }
?>

Bu işleri yaparken:

<?php

    if(!function_exists('apache_request_headers')) {
        function apache_request_headers() {
            $headers = array();
            foreach($_SERVER as $key => $value) {
                if(substr($key, 0, 5) == 'HTTP_') {
                    $headers[str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))))] = $value;
                }
            }
            return $headers;
        }
    }

    function getCurrentPageUrl() {
     $pageURL = 'http';
     if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
     $pageURL .= "://";
     if ($_SERVER["SERVER_PORT"] != "80") {
      $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     } else {
      $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }
     return $pageURL;
    }    

    $a =  apache_request_headers();

    $pos = strrpos($a["User-Agent"], "REBOL");
    if ($pos === false) {
        define('WP_USE_THEMES', true);  
        require('./wp-blog-header.php');
    } else {

      if ($_SERVER['REMOTE_ADDR'] != "69.163.203.14") {
        $command= './cgi-bin/index.cgi '. '"' . getCurrentPageUrl() . '"';
        echo system($command);
      } else {
        define('WP_USE_THEMES', true);  
        require('./wp-blog-header.php'); 
      }
    }
?>

1 Cevap

Sen ki, böylece fonksiyonu sona erdiğinde onları kaybetme, init prosedür bu işlev kapsamında oluşturduğu tüm değişkenleri sınırlayan bir işlev içine Wordpress başlatır bulunmaktadır taşındı.

Bu acil sorunu çözmek gerekir iken:

 function index_wordpress() {
        global $wpdb;  // Changes scope    
        define('WP_USE_THEMES', true);  
        require('./wp-blog-header.php');  
    }

o ana komut require bırakmak muhtemelen iyidir.