Wann wird FS_METHOD = ‘direkt’ gewählt?

Entsprechend den FS_METHOD = 'direct' Codes wird FS_METHOD = 'direct' gewählt, wenn es angemessen ist .

(Primärpräferenz) “direkt” zwingt es, direkte Datei-E / A-Anfragen aus PHP zu verwenden, dies ist mit dem Öffnen von Sicherheitsproblemen auf schlecht konfigurierten Hosts behaftet. Diese werden bei Bedarf automatisch ausgewählt.

http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants

Was sind die Kriterien um angemessen zu sein?

Solutions Collecting From Web of "Wann wird FS_METHOD = ‘direkt’ gewählt?"

Hier ist der Code von wp-admin / includes / file.php :

 if ( ! $method && function_exists('getmyuid') && function_exists('fileowner') ){ if ( !$context ) $context = WP_CONTENT_DIR; // If the directory doesn't exist (wp-content/languages) then use the parent directory // as we'll create it. if ( WP_LANG_DIR == $context && ! is_dir( $context ) ) $context = dirname( $context ); $context = trailingslashit($context); $temp_file_name = $context . 'temp-write-test-' . time(); $temp_handle = @fopen($temp_file_name, 'w'); if ( $temp_handle ) { if ( getmyuid() == @fileowner($temp_file_name) ) $method = 'direct'; @fclose($temp_handle); @unlink($temp_file_name); } } 

Der Test scheint zu sein

  1. Können wir eine temporäre Datei im Verzeichnis wp-content oder wp-content / languages ​​erstellen?
  2. Gehört diese Datei zum aktuellen Unix-Benutzer, dh es gibt keine setuid auf wp-Inhalt?

Es führt diese Prüfung nur aus, wenn wir selbst kein FS_METHOD angegeben haben und wenn die notwendigen Dateisystemaufrufe zu # 2 verfügbar sind. Die temporäre Datei wird anschließend bereinigt.