• Gelöst heikohar

    (@heikohar)


    Servus zusammen,

    bei einer WordPress-Installation eines Kunden kann ich keine Plugins Installieren/deinstallieren, obwohl ich Administrator bin.

    Es handelt sich hierbei um eine Multisite-Umgebung.
    Ich gehe nicht davon aus, dass es sich um ein Problem mit den Berechtigungen handelt, sondern, dass diese Möglichkeit in einer PHP-Datei deaktiviert wurde.

    In welcher Datei könnte das evtl. deaktiviert worden sein, die auch nach einem Update weiter bestehen bleibt?

    Gruß Heiko

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • Hallo.

    Gibt es beim Versuch ein Plugin zu installieren eine Fehlermeldung?

    Bist du Super-Admin? Bei den MU gibt es ja noch eine Eben höher als den Admin.

    Thread-Starter heikohar

    (@heikohar)

    Servus,

    zum Installieren komme ich gar nicht, weil ich die entsprechenden Optionen dafür
    nicht habe.

    Es kann sein, dass ich kein Super-Admin bin. Ich habe mich auch schon mal mit einem Benutzer angemeldet, der eigentlich Super-Admin sein müsste, da bin ich mir allerdings nicht ganz so sicher.
    Jedenfalls hatte das nichts gebracht.

    Ich hatte auch schon versucht mich in der Datenbank zum Super-Admin zu machen, um zu schauen ob es evtl. daran liegt. Ich habe keinen Hinweis dazu gefunden, wie ich das schaffen.

    Wo wird das Flag des Super-Admins in der Db gesetzt?

    Gruß Heiko

    Thread-Starter heikohar

    (@heikohar)

    Servus,

    ich habe in dem HTML-Code gerade noch ein unsichtbares DIV-Element gefunden, den ich auf sichthar geschaltet habe. Hier stand mir dann ein Link zur Verfügung, um Plugins zu installieren.
    Beim Klick auf den Link wurde dann gesagt, dass ich nicht über die benötigten Rechte verfüge, um Plugins zu installieren.

    Dann habe ich unter dem Menüpunkt „Netzwerkverwaltung->Benutzer“ gesehen, dass ich als Super-Admin eingetragen bin.

    Ich gehe davon aus, dass diese Funktionalität wirklich in einer PHP-Datei deaktiviert wurde, die Frage ist nur, in welcher Datei wird das abgefragt?

    Gruß Heiko

    Hallo,

    ich bin kein Experte für Multisite, daher nur mal 2 Überlegungen zu möglichen Ursachen:

    1.)
    Wird die Rechtevergabe evtl. über einen Multisite-Plugin-Manager geregelt? Z.B.
    https://de.wordpress.org/plugins/multisite-plugin-manager/
    (hättest du allerdings bestimmt schon selbst bemerkt)

    2.)
    Ist in den Network-Settings ganz unten das Häkchen für Plugins nicht gesetzt?
    Settings > Network Settings > Enable administration menus [check!] Plugins

    • Diese Antwort wurde geändert vor 7 Jahren, 10 Monaten von Flower33. Grund: Tippfehler
    Thread-Starter heikohar

    (@heikohar)

    Servus,

    Punkt 1 hat nichts gebracht.

    Bei Punkt 2 hattest Du recht. Der Haken war tatsächlich nicht gesetzt. Auch nach dem Setzen des Hakens hatte es nichts gebracht.
    Auch nach Neuanmeldung blieb alles unverändert.

    Ich habe dann die Datei „plugin-install.php“ mal manuell aufgerufen und dann kam die Meldung „Du bist leider nicht berechtigt, Plugins auf dieser Website zu installieren.“. Dann habe ich mir die Datei „plugin-install.php“ genauer angeschaut.

    Er läuft in die Funktion

    if ( !current_user_can('install_plugins') )
    	wp_die(__('Sorry, you are not allowed to install plugins on this site.'));
    

    Dann habe ich mir die Funktion „current_user_can“ in der Datei „capabilities.php“ angesehen.

    
    function current_user_can( $capability ) {
    	$current_user = wp_get_current_user();
    
    	if ( empty( $current_user ) )
    		return false;
    
    	$args = array_slice( func_get_args(), 1 );
    	$args = array_merge( array( $capability ), $args );
    	return call_user_func_array( array( $current_user, 'has_cap' ), $args );
    }
    

    Über den var_dump habe ich mir $current_user ausgeben lassen und dort steht „install_plugins“ auf true.

    Diese Funktion gibt “ zurück.

    Zuvor hatte ich auch mal das Plugin „user_role_editor“ verwendet und die Berechtigungen neu gesetzt. War auch nichts

    Gruß Heiko

    Du befindest dich in den Core Dateien. Diese sind dafür nicht verantwortlich. Wenn du super admin bist, dann müsste das von Haus aus klappen.

    Jetzt 2 Vermutungen zum Fehler:
    1. Du hast nicht die benötigten Berechtigungen von Serverseite aus. Sprich du kannst die Ordner nicht beschreiben etc. Überprüfe die Dateiberechtigungen.

    2. Es liegt an einem Plugin. Benenne mal den Plugin Ordner per FTP um ODER deaktiviere alle Plugins.
    Eventuell blockiert auch ein Befehl der functions.php des Themes deine Berechtigung – das halte ich aber für unwahrscheinlich.

    Eine weitere Angabe welche Fehlermeldung exakt bei welchem Schritt kommt, wäre hilfreich.

    Zu deiner Frage: Die DB Einträge sind in _users und _usermeta

    Solltest du da etwas verändern, dann achte darauf, dass die Daten in der _usermeta serialisiert sind.

    Thread-Starter heikohar

    (@heikohar)

    Servus,

    nach etlichen Versuchen am heutigen Tag habe ich die Lösung endlich gefunden und es war doch etwas einfacher als gedacht.

    In der wp-config.php war der folgende Eintrag gesetzt:

    
    define('DISALLOW_FILE_MODS', true);
    

    Nachdem ich den Wert auf false gesetzt hatte ging es. Die Datei wp-config.php hatte ich zuvor zwar auch schon dementsprechend bearbeitet, aber ich wusste nicht, dass die Plugininstallation in einer Multisiteumgebung nicht über die einzelnen Instanzen durchgeführt werden können, sondern nur über die Netzwerkeinstellungen

    Jetzt weiss ich es :-).

    Vielen Dank für Eure Hilfe.

    Viele Grüße

    Heiko

    Hallo Heiko,
    Gratulation zur Problemlösung und danke schön, dass du abschließend noch die verursachende Einstellung bekanntgegeben hast!

    Beitrag als gelöst markiert.

Ansicht von 9 Antworten – 1 bis 9 (von insgesamt 9)
  • Das Thema „Installation/Deinstallation der Plugins deaktivieren“ ist für neue Antworten geschlossen.