rene1976
Goto Top

WordPress mit Fehler - PHP Warning - file exists open basedir restriction

Hallo,

kennt jemand die beiden Fehler und wie kann ich sie beheben?
Wir haben eine Win 2008 R2 Root Server mit Plesk 12.5


PHP Warning: file_exists(): open_basedir restriction in effect. File(E:\www\XXX.eu\httpdocs/wp-content/plugins/http://XXX.eu/wp-admin/admin.php) is not within the allowed path(s): (E:/www/XXX.eu\;C:\Windows\Temp\) in E:\www\XXX.eu\httpdocs\wp-admin\menu-header.php on line 219

PHP Warning: file_exists(): open_basedir restriction in effect. File(E:\www\XXX.eu\httpdocs/wp-content/plugins/http://XXX.eu/wp-admin/admin.php) is not within the allowed path(s): (E:/www/XXX.eu\;C:\Windows\Temp\) in E:\www\XXX.eu\httpdocs\wp-admin\menu-header.php on line 150

Besten Dank.

Rene

Content-Key: 322902

Url: https://administrator.de/contentid/322902

Ausgedruckt am: 19.03.2024 um 10:03 Uhr

Mitglied: kaiand1
kaiand1 05.12.2016 um 04:13:46 Uhr
Goto Top
Nun es steht doch dort was das Problem ist

PHP Warning: file_exists(): open_basedir restriction in effect.
....
is not within the allowed path(s):

Einfach gesagt du hast ein Rechte Problem bzw du versuchst in Ordner zuzugreifen wo PHP nicht zugreifen darf/soll.
Mitglied: MrCount
MrCount 05.12.2016 um 07:58:17 Uhr
Goto Top
Servus,

vielleicht liegt es auch daran, dass in der Pfadangabe Slash und Backslash verwedet werden...
E:\www\XXX.eu\httpdocs/wp-content/plugins/http://XXX.eu/wp-admin/admin.php
Mitglied: Rene1976
Rene1976 05.12.2016 aktualisiert um 12:10:20 Uhr
Goto Top
Ja das mit dem Rechteproblem hab ich schon gelesen.
Ich weiß blos nicht von welchen Ordner ich die Rechte umstellen soll.
Und ist das überhaupt ratsam die Rechte von Ordner ?? zu ändern (Thema Sicherheit).

Sollte ich nicht lieber die Einstellungen des Plug-ins ändern, bzw. auf das Plug-in dann lieber verzichten.
Welches WordPress Plug-in löst diesen Fehler überhaupt aus?
Wie kann man das herausbekommen?
Das war am Anfang noch nicht.

Die Pfadangabe finde ich natürlich auch sehr komisch.
Ich denke die Fehlermeldung wird irgendwie im code zusammengesetzt aus einer Variablen vom OS Pfad und eine relativen Pfad von WordPress.


E:\www\XXX.eu\httpdocs/wp-content/plugins/http://XXX.eu/wp-admin/admin.php:

E:\www\XXX.eu\httpdocs ist der Pfad auf dem Windows Server
/wp-content/plugins/ ist ein Pfad von WordPress Installationen (auch unter Linux)
http://XXX.eu/wp-admin/admin.php müsste der Aufruf für den Admin-Bereich in WordPress sein, allerdings kann man die URL nicht direkt aufrufen.

Gruß,

Rene
Mitglied: MrCount
MrCount 05.12.2016 um 12:49:02 Uhr
Goto Top
Was genau steht denn in E:\www\XXX.eu\httpdocs\wp-admin\menu-header.php in Zeile 219 (und evtl noch 1-2 davor/danach)?

Dem Pfad in der Fehlermeldung
/wp-content/plugins/
nach zu urteilen, handelt es sich um ein Plugin, auf das zugegriffen werden soll.
Mitglied: Rene1976
Rene1976 05.12.2016 um 15:12:26 Uhr
Goto Top
Also ich bin leider kein (PHP) Programmierer,

ich denke es ist aber ein Standardcode der ebenso aussieht wenn ich ein nacktes WordPress installiere.

menu-header.php on line 150

Bedinn bei Zeile 142:
if ( $is_separator ) {
			echo '<div class="separator"></div>';  
		} elseif ( $submenu_as_parent && ! empty( $submenu_items ) ) {
			$submenu_items = array_values( $submenu_items );  // Re-index.
			$menu_hook = get_plugin_page_hook( $submenu_items[2], $item[2] );
			$menu_file = $submenu_items[2];
			if ( false !== ( $pos = strpos( $menu_file, '?' ) ) )  
				$menu_file = substr( $menu_file, 0, $pos );
			if ( ! empty( $menu_hook ) || ( ( 'index.php' != $submenu_items[2] ) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) && ! file_exists( ABSPATH . "/wp-admin/$menu_file" ) ) ) {  
				$admin_is_parent = true;
				echo "<a href='admin.php?page={$submenu_items[2]}'$class $aria_attributes>$arrow<div class='wp-menu-image$img_class'$img_style>$img</div><div class='wp-menu-name'>$title</div></a>";  
			} else {
				echo "\n\t<a href='{$submenu_items[2]}'$class $aria_attributes>$arrow<div class='wp-menu-image$img_class'$img_style>$img</div><div class='wp-menu-name'>$title</div></a>";  
			}


menu-header.php on line 219

Die Zeile 219 beginnt mit:

if ( ! empty( $submenu_items ) ) {
			echo "\n\t<ul class='wp-submenu wp-submenu-wrap'>";  
			echo "<li class='wp-submenu-head' aria-hidden='true'>{$item}</li>";  

			$first = true;

			// 0 = menu_title, 1 = capability, 2 = menu_slug, 3 = page_title, 4 = classes
			foreach ( $submenu_items as $sub_key => $sub_item ) {
				if ( ! current_user_can( $sub_item[1] ) )
					continue;
...
...
...

$title = wptexturize($sub_item);

				if ( ! empty( $menu_hook ) || ( ( 'index.php' != $sub_item[2] ) && file_exists( WP_PLUGIN_DIR . "/$sub_file" ) && ! file_exists( ABSPATH . "/wp-admin/$sub_file" ) ) ) {  
					// If admin.php is the current page or if the parent exists as a file in the plugins or admin dir
					if ( ( ! $admin_is_parent && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) && ! is_dir( WP_PLUGIN_DIR . "/{$item[2]}" ) ) || file_exists( $menu_file ) )  
						$sub_item_url = add_query_arg( array( 'page' => $sub_item[2] ), $item[2] );  
					else
						$sub_item_url = add_query_arg( array( 'page' => $sub_item[2] ), 'admin.php' );  

					$sub_item_url = esc_url( $sub_item_url );
					echo "<li$class><a href='$sub_item_url'$class>$title</a></li>";  
				} else {
					echo "<li$class><a href='{$sub_item[2]}'$class>$title</a></li>";  
				}


Danke.

Rene