PHP Fatal Fehler in der cache.php on line 123 $ wp_object_cache ist kein Objekt

Ich benutze die Transiente auf diese Weise (einfaches Beispiel):

function my_url_cache( $url ) { $transient_id = hash( "crc32", $url ); $content = get_transient( 'my_url_cache_' . $transient_id ); set_transient( 'my_url_cache_' . $transient_id, $content, 60 * 60 * 24 ); set_transient( 'my_url_cache_backup_' . $transient_id, $content, 0 ); } 

Zusammen mit einem Plugin von meiner Firma erhalten sie diesen Fehler, wenn sie ihren Cache aktualisieren wollen:

Rufen Sie eine Memberfunktion get () für ein Nichtobjekt in /wordpress/wp-includes/cache.php in Zeile 123 auf

Ohne mein Plugin haben sie keine Probleme

/wordpress/wp-includes/cache.php auf Zeile 123:

 /** * Retrieves the cache contents from the cache by key and group. * * @since 2.0.0 * * @see WP_Object_Cache::get() * @global WP_Object_Cache $wp_object_cache Object cache global instance. * * @param int|string $key The key under which the cache contents are stored. * @param string $group Optional. Where the cache contents are grouped. Default empty. * @param bool $force Optional. Whether to force an update of the local cache from the persistent * cache. Default false. * @param bool $found Optional. Whether the key was found in the cache. Disambiguates a return of false, * a storable value. Passed by reference. Default null. * @return bool|mixed False on failure to retrieve contents or the cache * contents on success */ function wp_cache_get( $key, $group = '', $force = false, &$found = null ) { global $wp_object_cache; return $wp_object_cache->get( $key, $group, $force, $found ); // Line 123 } 

Auf meinem Testserver kann ich diesen Fehler nicht reproduzieren.

Sie verwenden kein anderes Caching-System.

Der $ wp_object_cache scheint kein Objekt zu sein. Ich weiß nicht, ob für mein Plugin oder ihr Plugin oder beides.

Muss ich in WordPress einen speziellen Hook verwenden , bevor ich die functionen get_ und set_transient verwenden kann? Ich verwende meine Cache-function nur in diesem Hook:

 add_shortcode( 'feedimport', array( $this, "shortcode_feedimport" ) ); 

AKTUALISIEREN:

Das andere Plugin verwendet das wp_schedule_event:

 private static function cron_schedule_event_setup() { wp_clear_scheduled_hook(self::cron_hook); wp_schedule_event(time(), self::$options['schedule_event'], self::cron_hook); } 

Und speichern Sie ihre Daten in einer databasetabelle. Sie verwenden nicht die functionen get_set_transient. 🙁

Ich weiß wirklich nicht, wie mein Plugin ihr Plugin beeinflussen kann. Vollständiger Code ihres Plugins: Link

Update 2 – Getriggers:

 public function __destruct() { $this->save_log(); } 

Dieser Code startet eine function, die das WordPress-Caching-System verwendet.

Wechsel zu diesem:

 add_action('shutdown', array($this, "save_log")); 

Problem getriggers. Ich benutze WordPress-functionen nie wieder in einem Destruktor.

Solutions Collecting From Web of "PHP Fatal Fehler in der cache.php on line 123 $ wp_object_cache ist kein Objekt"