[gelöst] Fehlermeldung "Fatal error: Class name must be a valid object or a string"
Eingetragen von Butt3r (5)
am 22.07.2015 - 18:50 Uhr in
am 22.07.2015 - 18:50 Uhr in
Hallo liebe Drupalgemeinde.
Ich benutze Drupal 7.38 und
habe seit letzter Zeit folgende Fehlermeldungen auf meiner HP:
Fatal error: Class name must be a valid object or a string in .../includes/common.inc on line 7963
function entity_get_controller($entity_type) {
$controllers = &drupal_static(__FUNCTION__, array());
if (!isset($controllers[$entity_type])) {
$type_info = entity_get_info($entity_type);
$class = $type_info['controller class'];
$controllers[$entity_type] = new $class($entity_type); <---- Zeile 7963
}
return $controllers[$entity_type];
}
Notice: Undefined index: name in system_requirements() (Zeile 34 von .../modules/system/system.install)
Notice: Undefined index: version in system_requirements() (Zeile 36 von .../modules/system/system.install)
// Display the currently active installation profile, if the site
// is not running the default installation profile.
$profile = drupal_get_profile();
if ($profile != 'standard') {
$info = system_get_info('module', $profile);
$requirements['install_profile'] = array(
'title' => $t('Install profile'),
'value' => $t('%profile_name (%profile-%version)', array(
'%profile_name' => $info['name'], <----Zeile 34
'%profile' => $profile,
'%version' => $info['version'] <----Zeile 36
)),
'severity' => REQUIREMENT_INFO,
'weight' => -9
);
}
}
Die Fehler sind nach diversen Modulupdates entstanden. Aufgrund der Fehlermeldungen (davon geh ich mal aus) hat die Seite, nach Aussagen von meinem Provider,
sehr viele Mysql und Apache Prozesse gestartet (irgendwelche Sleep Prozesse) welche das ganze System ziemlich lahmgelegt hatten. Woraufhin mein Account kurzfristig gesperrt wurde.
Die einzige Lösung war vorerst das Löschen des Drupal Ordners auf dem Server, was natürlich nicht die Dauerlösung ist.
Ich hoffe hier kann mir jemand helfen.
Gruß Mario
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn die Fehler nach
am 24.07.2015 - 22:23 Uhr
Wenn die Fehler nach Modulupdates entstanden sind, kann es gut sein, dass du nach Einspielen der Updates vergessen hast die Datenbankupdates einzuspielen und die Drupal Caches zu löschen.
Für weitere Hilfe müsste man schon wissen, welche Module du nutzt und seit wann / in welcher Konstellation dieser Fehler genau auftritt.
Außerdem solltest du dir deine Drupal Installation auch einmal lokal aufsetzen um genau solch Verhalten testen zu können. So kannst du die Updates erst auf deiner lokalen Installation einspielen und testen. Erst wenn hier alles in Ordnung/ ohne Fehler läuft, würdest du die Module dann auf deinem Server / Webspace updaten.
Voraussetzung hierfür ist natürlich auch ein ausreichendes Webspacepaket/ Server, der Drupals Anforderungen entspricht.
SteffenR
Hallo ich habe jetzt mal eine
am 28.07.2015 - 13:51 Uhr
Hallo
ich habe jetzt mal eine lokale Installation von meiner HP durchgeführt und konnte den selben Fehler feststellen. Ich kann leider nicht genau sagen welche Updates ich durchführen lassen hatte,es könnte Honeypot oder Media gewesen sein, bin mir nicht sicher. Kann man das irgendwie anhand der Datenbank oder so rausfinden was zuletzt erneuert wurde? Ein Datenbankupdate hatte ich gamacht gehabt, allerdings den Cache nicht geleert. Ich hab auch schon versucht nach und nach Module abzuschalten in der Hoffnung das der Fehler weggeht, aber ohne Erfolg. Ich benutze ziemlich viel Module, das ist wie die Suche im Heuhaufen.
Ich habe noch keinen Ansatz wie ich das Problem lösen könnte.
Gruß Mario
Hallo Mario, deine Seite
am 28.07.2015 - 14:18 Uhr
Hallo Mario,
deine Seite scheint komplett zerschossen zu sein.
Zuerst schau mal im apache error.log nach ob dort etwas genaueres steht.
Zum 1. Fehler, hier scheint eine entity geladen zu werden welche nicht vorhanden ist.
$type_info = entity_get_info($entity_type);
$class = $type_info['controller class'];
$controllers[$entity_type] = new $class($entity_type); <---- Zeile 7963
Ich wette $entity_type in 7963 ist leer oder null. Gib dort mal folgendes aus evtl, siehst Du welches entity gemeint ist
print_r($entity_type)
$type_info = entity_get_info($entity_type);
print_r($type_info);
$class = $type_info['controller class'];
$controllers[$entity_type] = new $class($entity_type); <---- Zeile 7963
Evtl. sagt das etwas aus,
Zum 2. Fehler benutzt Du ein anderes Installations profil als "standard" ?
Wenn nicht, füge einfach mal direkt nach
$profile = drupal_get_profile();
$profile="standard";
ein.
So sollte zumindest das Standard Profil geladen werden können.
MfG
Robert
Hallo der 1. Fehler ist
am 28.07.2015 - 19:03 Uhr
Hallo
der 1. Fehler ist beseitigt, ich hatte den geänderten Programmcode eingegeben und verschiedene Module aktiviert und auf einmal war er weg.
Der 2. Fehler konnte mit dem laden des Standartprofiles auch behoben werden.
Folgende Fehlermeldung habe ich aber noch auf der Modulverwaltungsseite:
Notice: Undefined index: distribution_name in drupal_install_profile_distribution_name() (Zeile 208 von C:\xampp\htdocs\drupal-7.38\includes\install.inc).
/**
* Loads the installation profile, extracting its defined distribution name.
*
* @return
* The distribution name defined in the profile's .info file. Defaults to
* "Drupal" if none is explicitly provided by the installation profile.
*
* @see install_profile_info()
*/
function drupal_install_profile_distribution_name() {
// During installation, the profile information is stored in the global
// installation state (it might not be saved anywhere yet).
if (drupal_installation_attempted()) {
global $install_state;
return $install_state['profile_info']['distribution_name'];
}
// At all other times, we load the profile via standard methods.
else {
$profile = drupal_get_profile();
$profile="standard";
$info = system_get_info('module', $profile);
return $info['distribution_name']; <--- Zeile 208
Das ist jetzt alles erstmal nur auf der Lokalen Installation gestestet.
Vielen Dank für die Hilfe :)
Gruß Mario
Hallo Butt3r
am 28.07.2015 - 19:40 Uhr
hast Du eine Mutter ...;)
Späßle gemacht.
D.h. die Fehler waren weg, als Du die 2 print_r von hyp1 eingefügt hast??? Das liegt aber definitiv nicht daran!
Und das mit dem Standardprofil ist auch so ne Sache. Mach die print_r Anweisen auf jeden Fall wieder raus, zumindest auf deinem Produktivsystem.
maen
Die print befehle hatte ich
am 29.07.2015 - 06:19 Uhr
Die print befehle hatte ich wieder raus gemacht, ich hatte wieder ein Modul aktiviert, was ausgeschalten war. Der Fehler war weg und nachdem entfernen der print befehle auch nicht wieder aufgetreten. Also Muss es an dem Modul Simplenews gelegen haben.
----update---
Den letzten genannten Fehler habe ich mit folgendem Link gelöst:
https://www.drupal.org/node/1170360