Support » Allgemeine Fragen » WordPress meldet: PHP-Update erforderlich

  • Gelöst franksteinmetz

    (@franksteinmetz)


    Hallo zusammen,
    unsere WordPress-Installation auf https://rmsc-solidaritaet-schwabach.de meldet seit geraumer Zeit dass ein PHP-Update erforderlich wäre.
    Wenn ich aber in den Einstellungen unseres Hosters nachschaue, ist dort bereits PHP 7.4 aktiv.
    Ich verwalte noch zwei andere Seiten beim gleichen Anbieter. diese zeigen die PHP-Meldung nicht an.
    Was kann ich tun, damit diese Meldung verschwindet?
    Gibt es eine Einstellung in einer Config-Datei?

    Vielen Dank für euren Support.

    Viele Grüße,
    Frank Steinmetz

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 20)
  • Installier doch bitte mal das Plugin Health Check. Dann gehst du auf Werkzeuge > Website-Zustand > Info, scrollst ganz nach unten und klickst auf „Erweiterte PHP-Informationen anzeigen“. Was wird dir dann angezeigt?

    Das Widget im Dashboard kannst du mit einem Code-Snippet entfernen, dass du entweder in der functions.php deines Child-Themes (!) anhängst oder mit dem Plugin Code Snippets hinzufügst:

    add_action('wp_dashboard_setup', 'remove_site_health_dashboard_widget');
    function remove_site_health_dashboard_widget()
    {
        remove_meta_box('dashboard_site_health', 'dashboard', 'normal');
    }

    Dadurch wird die Fehleranzeige unterdrückt, nicht aber der Fehler behoben. Es ist grundsätzlich keine gute Idee, eine Website auf einer nicht mehr gewarteten PHP-Version laufen zu lassen – du verwendest für einen PC auch nicht mehr Windows XP. Aber wenn schon PHP 7.4 aktiv ist … Allerdings wäre dann der Hinweis falsch.

    Hallo,
    du findest unter Werkzeuge > Websitezustand > Info einen Bericht zur Website.
    In diesem Bericht findest du unter der Kategorie „Server“ auch die eingestellte PHP-Version.
    Nachtrag: Bego war mal wieder schneller und die Infos über den Button „Erweiterte PHP-Informationen“ sind natürlich noch exakter.
    Viele Grüße
    Hans-Gerd

    Hallo,
    vielen Dank euch beiden für die Tips.
    Unter Werkzeuge – Websitezustand – Info wird mir angezeigt, dass die PHP-Version 7.3 ist.
    Ich habe jetzt mal bei den anderen beiden Domains geschaut. Beim Hoster sind die jeweils auf PHP 7.3. Ich habe für die betroffene Domain jetzt auch mal PHP 7.3 eingestellt und warte auf die Aktualisierun.
    Außerdem sind wohl zwei Plugins (Cachify und AllinoneFavicon) über PHP 7.2 problematisch.
    Ich melde mich, wenn ich neue Erkenntnisse habe.

    Gruss,
    Frank

    Hallo,
    PHP 7.3 ist vollkommen ok. Da besteht nicht unbedingt Handlungsbedarf.
    Viele Grüße
    Hans-Gerd

    Guten Morgen,
    ich habe gestern mit dem Support (all-inkl.com) geschrieben.
    Der Fehler rührt wohl von der Zeile „AddHandler php56-cgi .php“ in der .htaccess.
    Die wurde auskommentiert, danach ist die Seite aber gar nicht mehr administrierbar. Beim Anmelden kommt es dann zu folgenden Fehlern:

    *Warning*: Use of undefined constant ‚WPLANG‘ – assumed ‚‚WPLANG‘‘ (this
    will throw an Error in a future version of PHP)
    in */www/htdocs/w0148286/rmsc-solidaritaet-schwabach.de/wp-config.php* on
    line *75*

    *Warning*: Use of undefined constant ‚de_DE‘ – assumed ‚‚de_DE‘‘ (this
    will throw an Error in a future version of PHP)
    in */www/htdocs/w0148286/rmsc-solidaritaet-schwabach.de/wp-config.php* on
    line *75*

    *Warning*: Cannot modify header information – headers already sent by
    (output started at
    /www/htdocs/w0148286/rmsc-solidaritaet-schwabach.de/wp-config.php:75)
    in */www/htdocs/w0148286/rmsc-solidaritaet-schwabach.de/wp-includes/pluggable.php* on
    line *1281*

    *Warning*: Cannot modify header information – headers already sent by
    (output started at
    /www/htdocs/w0148286/rmsc-solidaritaet-schwabach.de/wp-config.php:75)
    in */www/htdocs/w0148286/rmsc-solidaritaet-schwabach.de/wp-includes/pluggable.php* on
    line *1284*

    Ich habe die Zeile jetzt wieder aktiviert. Seitdem geht die Anmeldung wieder aber wenn ich z.B.: die Plugins anzeigen möchte, geh ein Dialog auf, der die Plugins.php herunterladen oder öffnen möchte. Gleiches für andere Menüeinträge.

    Ich bin inzwischen echt ratlos und kurz davor die Homepage komplett neu zu installieren….

    Viele Grüße und einen guten Start in die Woche,

    Frank

    Hallo,
    zunächst würde ich die wp-config.php per FTP auf Deinen lokalen Rechner sichern, bevor du jetzt weitere Änderungen vornimmst.
    Du hast möglicherweise die Änderungen in der wp-config.php mit einem nicht geeigneten Editor durchgeführt und/oder überflüssige Zeichen in der wp-config.php, die das Problem verursachen. Das Problem kann z. B. schon entstehen, wenn du am Anfang der wp-config.php ein überflüssiges Leerzeichen hast.
    Verwende außerdem bitte einen geeigneten Editor (z.B. Atom Editor oder Notepad++, bitte nicht Windows Notepad oder Mac Texteditor und überprüfe das mal.

    Wenn du die Datei speicherst, muss sie in der richtigen Zeichencodierung gespeichert werden. Windows Notepad speichert z.B. in einer anderen Zeichencodierung; richtig wäre UTF8 ohne Byte Order Mark (BOM), wie es z.B. Notepad++ oder Atom Editor als Standard verwenden.
    Viele Grüße
    Hans-Gerd

    Da scheint auch noch die früher gebräuchliche Zeile
    define( 'WPLANG', 'de_DE' );
    in der wp-config.php eingetragen zu sein. Die Zeile ist inzwischen überflüssig und soll nicht mehr verwendet werden. Du kannst sie gefahrlos löschen (und damit vermutlich bereits das Problem beheben).

    Bitte nutze dazu einen geeigneten Programmiereditor (z.B. Atom Editor, Visual Studio Code oder Notepad++, alle kostenlos erhältlich).

    @Hans-Gerd Gerhards:
    An der wp-config.php habe ich nichts geändert.
    Lediglich in der .htaccess. Wenn ich die Dateien bearbeite, dann mit brackets (Mac) lokal und als neue Datei speichern.

    Gruss,
    Frank

    @franksteinmetz
    dann würde ich mal mit einem der genannten Editoren die Datei öffnen und wieder wie beschrieben speichern. Möglicherweise ist der Fehler dann behoben. Ich kann dir leider nicht sagen, ob brackets als Editor geeignet ist (ich habe keinen Mac).
    Viele Grüße
    Hans-Gerd

    @hage Brackets ist vielleicht nicht so weit verbreitet, aber ein völlig geeigneter Programmier-Editor, der die Datei im Zeichenformat utf-8 speichert. Nur muss er eben auch eingesetzt werden. Vom „Datei angucken“ wird’s ja nicht besser. 🙂

    Hallo zusammen,
    ich bin mit meinem Latein so ziemlich am Ende.
    Ich habe vorhin die wpconfig.php wie oben beschrieben mit Brackets lokal geöffnet und wieder hochgeladen ohne Änderungen durchzuführen.
    Ohne Erfolg. Die plugin.php und users.php generieren beim anklicken immer einen Download-Vorgang.
    Vorhin habe ich die wpconfig.php auch einmal gelöscht und mittels der wpconfig-sample.php versucht eine neue anzulegen – aber das hat komplett nicht hingehauen.

    Ich würde jetzt, als meine letzte Option, den Hoster anschreiben ob er ein Backup von Donnerstag einspielen kann – das ist der Tag bevor jegliche Änderung gemacht wurde. Danach sollte es dann ja wieder gehen – halt bis auf die Nicht-Aktualität der PHP-Version – aber das kann ich mir dann im Nachgang noch anschauen. Im Moment ist mir wichtig, dass ich wieder an die Plugins und User rankomme.

    Viele Grüße,
    Frank

    Ich habe vorhin die wpconfig.php wie oben beschrieben mit Brackets lokal geöffnet und wieder hochgeladen ohne Änderungen durchzuführen.

    Was bringt das dann? 😀

    Die plugin.php und users.php generieren beim anklicken immer einen Download-Vorgang.

    Verstehe ich nicht – im FTP-Programm oder wo?
    Was wolltest du mit diesen Dateien machen?

    Vorhin habe ich die wpconfig.php auch einmal gelöscht und mittels der wpconfig-sample.php versucht eine neue anzulegen – aber das hat komplett nicht hingehauen.

    😱 Panik!

    Spaß beiseite … wieso machst du das? Du solltest doch erst einmal nur die Zeile define( 'WPLANG', 'de_DE' ); löschen … nicht gleich die ganze Datei?

    Poste doch bitte mal den aktuellen Inhalt der wp-config.php – Zeilen mit Zugangsdaten und SALT-Keys vorher löschen.

    Die plugin.php und users.php generieren beim anklicken immer einen Download-Vorgang.

    Verstehe ich nicht – im FTP-Programm oder wo?
    Was wolltest du mit diesen Dateien machen?

    Nein – im Menübaum von WordPress. Also wenn ich die Plugins öffnen bzw. anzeigen möchte oder die Benutzer editieren.

    Vorhin habe ich die wpconfig.php auch einmal gelöscht und mittels der wpconfig-sample.php versucht eine neue anzulegen – aber das hat komplett nicht hingehauen.

    😱 Panik!

    Keine Panik, ich hab‘ die alte inzwischen schon wieder hochgeladen 🙂

    Hier mal der Inhalt der wpconfig.php:

    
    <?php
    
    // BEGIN iThemes Security - Do not modify or remove this line
    // iThemes Security Config Details: 2
    define( 'DISALLOW_FILE_EDIT', true ); // Disable File Editor - Security > Settings > WordPress Tweaks > File Editor
    define( 'FORCE_SSL_ADMIN', true ); // Redirect All HTTP Page Requests to HTTPS - Security > Settings > Secure Socket Layers (SSL) > SSL for Dashboard
    // END iThemes Security - Do not modify or remove this line
    
    /**
     * The base configuration for WordPress
     *
     * The wp-config.php creation script uses this file during the
     * installation. You don't have to use the web site, you can
     * copy this file to "wp-config.php" and fill in the values.
     *
     * This file contains the following configurations:
     *
     * * MySQL settings
     * * Secret keys
     * * Database table prefix
     * * ABSPATH
     *
     * @link https://codex.wordpress.org/Editing_wp-config.php
     *
     * @package WordPress
     */
    
    // ** MySQL settings - You can get this info from your web host ** //
    /** The name of the database for WordPress */
    define('DB_NAME', 'DB-Name');
    
    /** MySQL database username */
    define('DB_USER', 'DB-User');
    
    /** MySQL database password */
    define('DB_PASSWORD', 'DB-Password');
    
    /** MySQL hostname */
    define('DB_HOST', 'localhost');
    
    /** Database Charset to use in creating database tables. */
    define('DB_CHARSET', 'utf8');
    
    /** The Database Collate type. Don't change this if in doubt. */
    define('DB_COLLATE', '');
    
    /**#@+
     * Authentication Unique Keys and Salts.
     *
     * Change these to different unique phrases!
     * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
     * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
     *
     * @since 2.6.0
     */
    … [SALT-Keys gelöscht]
    
    /**#@-*/
    
    /**
     * WordPress Database Table prefix.
     *
     * You can have multiple installations in one database if you give each
     * a unique prefix. Only numbers, letters, and underscores please!
     */
    $table_prefix  = 'table-prefix';
    define( 'WP_POST_REVISIONS', 10 );
    
    /**
     * For developers: WordPress debugging mode.
     *
     * Change this to true to enable the display of notices during development.
     * It is strongly recommended that plugin and theme developers use WP_DEBUG
     * in their development environments.
     *
     * For information on other constants that can be used for debugging,
     * visit the Codex.
     *
     * @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define('WP_DEBUG', false);
    
    /* That's all, stop editing! Happy blogging. */
    
    /** Absolute path to the WordPress directory. */
    if ( !defined('ABSPATH') )
    	define('ABSPATH', dirname(__FILE__) . '/');
    
    /** Sets up WordPress vars and included files. */
    require_once(ABSPATH . 'wp-settings.php');
    
    

    Die Daten für die Passwörter und Benutzernamen habe ich oben ersetzt – die sind in der Originaldatei anders 🙂

    Was ich halt so überhaupt nicht verstehe. Am Samstag hat ein Mitarbeiter des Supports in der .htaccess die Einstellung

    „#AddHandler php56-cgi .php“

    auskommentiert. Seitdem habe ich diese Probleme…

    Daher komm‘ ich halt überhaupt nicht mit, dass jetzt die wpconfig.php ein Problem hat.

    Viele Grüße und vielen Dank für eure Hilfe,

    Frank

    • Diese Antwort wurde geändert vor 6 Monaten, 1 Woche von Bego Mario Garde. Grund: künftig bitte Button zur Codeformatierung nutzen

    Hm, die Zeile define( 'WPLANG', 'de_DE'); hast du wohl zwischenzeitlich entfernt. Was für Fehler treten denn jetzt atuell auf? Du kannst dich offensichtlich wieder anmelden?

    Was ist denn der Inhalt deiner .htaccess?

    Naja, der aktuelle Fehler ist eben – wie oben geschrieben – wenn ich z.B.: im WordPress-Menü auf „Plugins“, „Benutzer“ oder „Dashboard“ klicke, dass ein Dialog aufgeht, der die entsprechende php-Datei (plugins.php, users.php, index.php) herunterladen möchte.
    Sonst passt soweit alles – die PHP-Version wird noch als veraltet angezeigt – aber das gehe ich im Nachgang an.

    Hier die .htaccess

    
     BEGIN iThemes Security - Do not modify or remove this line
    	<IfModule mod_rewrite.c>
    		RewriteEngine On
    
    [… diverse Zeilen mit Regeln wegen Spambots gelöscht …]
    
    		# Reduce Comment Spam - Security > Settings > WordPress Tweaks > Comment Spam
    		RewriteCond %{REQUEST_METHOD} POST
    		RewriteCond %{REQUEST_URI} /wp-comments-post\.php$
    		RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
    		RewriteCond %{HTTP_REFERER} !^https?://(([^/]+\.)?rmsc-solidaritaet-schwabach\.de|jetpack\.wordpress\.com/jetpack-comment)(/|$) [NC]
    		RewriteRule ^.* - [F]
    	</IfModule>
    
    	# Protect System Files - Security > Settings > System Tweaks > System Files
    	<files .htaccess>
    		<IfModule mod_authz_core.c>
    			Require all denied
    		</IfModule>
    		<IfModule !mod_authz_core.c>
    			Order allow,deny
    			Deny from all
    		</IfModule>
    	</files>
    	<files readme.html>
    		<IfModule mod_authz_core.c>
    			Require all denied
    		</IfModule>
    		<IfModule !mod_authz_core.c>
    			Order allow,deny
    			Deny from all
    		</IfModule>
    	</files>
    	<files readme.txt>
    		<IfModule mod_authz_core.c>
    			Require all denied
    		</IfModule>
    		<IfModule !mod_authz_core.c>
    			Order allow,deny
    			Deny from all
    		</IfModule>
    	</files>
    	<files wp-config.php>
    		<IfModule mod_authz_core.c>
    			Require all denied
    		</IfModule>
    		<IfModule !mod_authz_core.c>
    			Order allow,deny
    			Deny from all
    		</IfModule>
    	</files>
    
    	# Disable Directory Browsing - Security > Settings > System Tweaks > Directory Browsing
    	Options -Indexes
    
    	<IfModule mod_rewrite.c>
    		RewriteEngine On
    
    		# Protect System Files - Security > Settings > System Tweaks > System Files
    		RewriteRule ^wp-admin/install\.php$ - [F]
    		RewriteRule ^wp-admin/includes/ - [F]
    		RewriteRule !^wp-includes/ - [S=3]
    		RewriteRule ^wp-includes/[^/]+\.php$ - [F]
    		RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F]
    		RewriteRule ^wp-includes/theme-compat/ - [F]
    		RewriteCond %{REQUEST_FILENAME} -f
    		RewriteRule (^|.*/)\.(git|svn)/.* - [F]
    
    		# Disable PHP in Uploads - Security > Settings > System Tweaks > PHP in Uploads
    		RewriteRule ^wp\-content/uploads/.*\.(?:php[1-7]?|pht|phtml?|phps)\.?$ - [NC,F]
    
    		# Disable PHP in Plugins - Security > Settings > System Tweaks > PHP in Plugins
    		RewriteRule ^wp\-content/plugins/.*\.(?:php[1-7]?|pht|phtml?|phps)\.?$ - [NC,F]
    
    		# Disable PHP in Themes - Security > Settings > System Tweaks > PHP in Themes
    		RewriteRule ^wp\-content/themes/.*\.(?:php[1-7]?|pht|phtml?|phps)\.?$ - [NC,F]
    
    		# Filter Request Methods - Security > Settings > System Tweaks > Request Methods
    		RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) [NC]
    		RewriteRule ^.* - [F]
    
    		# Filter Suspicious Query Strings in the URL - Security > Settings > System Tweaks > Suspicious Query Strings
    		RewriteCond %{QUERY_STRING} \.\.\/ [OR]
    		RewriteCond %{QUERY_STRING} \.(bash|git|hg|log|svn|swp|cvs) [NC,OR]
    		RewriteCond %{QUERY_STRING} etc/passwd [NC,OR]
    		RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
    		RewriteCond %{QUERY_STRING} ftp: [NC,OR]
    		RewriteCond %{QUERY_STRING} https?: [NC,OR]
    		RewriteCond %{QUERY_STRING} (<|%3C)script(>|%3E) [NC,OR]
    		RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
    		RewriteCond %{QUERY_STRING} base64_decode\( [NC,OR]
    		RewriteCond %{QUERY_STRING} %24&x [NC,OR]
    		RewriteCond %{QUERY_STRING} 127\.0 [NC,OR]
    		RewriteCond %{QUERY_STRING} (^|\W)(globals|encode|localhost|loopback)($|\W) [NC,OR]
    		RewriteCond %{QUERY_STRING} (^|\W)(concat|insert|union|declare)($|\W) [NC,OR]
    		RewriteCond %{QUERY_STRING} %[01][0-9A-F] [NC]
    		RewriteCond %{QUERY_STRING} !^loggedout=true
    		RewriteCond %{QUERY_STRING} !^action=jetpack-sso
    		RewriteCond %{QUERY_STRING} !^action=rp
    		RewriteCond %{HTTP_COOKIE} !wordpress_logged_in_
    		RewriteCond %{HTTP_REFERER} !^http://maps\.googleapis\.com
    		RewriteRule ^.* - [F]
    	</IfModule>
    # END iThemes Security - Do not modify or remove this line
    
    php_value memory_limit 256M
    php_value max_input_vars 10000
    
    # BEGIN WordPress
    # Die Anweisungen (Zeilen) zwischen <code>BEGIN WordPress</code> und <code>END WordPress</code> sind
    # dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
    # Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    

    Moderationshinweis: Bitte verwende künftig den [code]-Button im Beitragseditor des Forums und poste nur relevanten Code. Es ist etwas sinnfrei, zig Zeilen mit Spambot-Regeln mitzuschicken.

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 20)
  • Das Thema „WordPress meldet: PHP-Update erforderlich“ ist für neue Antworten geschlossen.