Co je to (konstanta) FS_METHOD?

Obsah článku

Možnost automatické instalace pluginů a šablon v WordPressu závisí na nastavení tvého hostingu. Zatímco většina hostingů umožňuje automatické aktualizace tak někde může být nutné využít FTP nebo SSH.

Konstanta FS_METHOD určuje metodu souborového systému, kterou by měl WordPress použít pro čtení, zápis, úpravu nebo mazání souborů.

FS_METHOD je tedy konstanta v WordPressu, která určuje, jakým způsobem bude WordPress zapisovat soubory na server. Jinými slovy, řídí, zda WordPress bude používat přímý zápis souborů nebo zda bude vyžadovat tvé FTP přihlašovací údaje pro provádění změn.

Kdy je třeba měnit FS_METHOD?

  • Pokud WordPress vyžaduje FTP přihlašovací údaje: To znamená, že hosting nepodporuje přímý zápis souborů a musíš nastavit FS_METHOD na jinou hodnotu, například ftpext nebo ssh2.
  • Pokud chceš zvýšit bezpečnost: Někteří uživatelé preferují použití SSH nebo FTP pro zápis souborů, aby zvýšili bezpečnost webu.

Pro nastavení jiné metody stačí upravit soubor wp-config.php a přidat řádek:

define( 'FS_METHOD', 'HODNOTA-DLE-POTŘEBY' );
PHP

FS_METHOD vynucuje metodu souborového systému a může používat následující hodnoty:

MetodaPopis
directWordPress se pokusí zapisovat soubory přímo na server. Toto je nejefektivnější způsob, ale nemusí být vždy podporován vaším hostingem..
ssh2WordPress použije protokol SSH pro připojení k serveru a zápis souborů.
ftpextWordPress použije PHP rozšíření FTP pro připojení k serveru a zápis souborů.
ftpsocketsPoužívá PHP Sockets třídu pro přístup k FTP s poskytnutými přihlašovacími údaji.

FS_METHOD direct

Obecně bys měl(a) změnit hodnotu FS_METHOD pouze v případě, že máš problémy s aktualizací. Pokud změna nepomůže, vrať ji zpět nebo ji odstraň. Ve většině případů bude fungovat nastavení na ftpsockets, pokud automaticky zvolená metoda nefunguje.

FS_METHOD ftpext

Pro použití FTP pro aktualizace definuj v souboru wp-config.php konstantu takto:

define( 'FS_METHOD', 'ftpext' );

Pokud nastavíš FS_METHOD na ftpext nebo ftpsockets, musíš také přidat přihlašovací údaje k tvému FTP účtu.

Můžeš buď přidat přihlašovací údaje k FTP přímo do souboru wp-config.php, nebo použít plugin, jako je FTP Access (lepší je toto nadefinovat v wp-config.php).

define( 'FTP_BASE', '/cesta-k-wordpress/' );
define( 'FTP_USER', 'uživatelské_jméno' );
define( 'FTP_PASS', 'heslo' );
define( 'FTP_HOST', 'ftp.domena.cz' );
define( 'FTP_SSL', false );

Vysvětlení (popis) konstant FS_METHOD

KonstantaPopis
FTP_CONTENT_DIRPlná cesta k složce wp-content WordPressu.
FTP_PLUGIN_DIRPlná cesta k složce pluginů WordPressu.
FTP_BASEPlná cesta k (ABSPATH) složce instalace WordPressu.
FTP_USERTvé uživatelské jméno pro FTP nebo SSH.
FTP_PASSHeslo pro FTP_USER. Pokud používáš SSH autentizaci pomocí veřejného klíče, toto není vyžadováno.
FTP_HOSTKombinace hostname:port pro SSH/FTP server. Pokud je použit výchozí FTP port 21 nebo SSH port 22, toto nastavení není vyžadováno.
FTP_SSLPoužívá se pro „secure FTP“, ne pro SSH SFTP, nastav na true pro použití SSL připojení nebo false pro použiti bez SSL.
FTP_PUBKEYPlná cesta k SSH veřejnému klíči.
FTP_PRIKEYPlná cesta k SSH soukromému klíči.

Použití autentizace pomocí klíčů místo hesel, příklad

define( 'FS_METHOD', 'ftpext' );
define( 'FTP_BASE', '/cesta-k-wordpress/' );
define( 'FTP_USER', 'uživatelské_jméno' );
define( 'FTP_PUBKEY', '/home/uživatelské_jméno/.ssh/id_rsa.pub' );
define( 'FTP_PRIKEY', '/home/uživatelské_jméno/.ssh/id_rsa' );
define( 'FTP_HOST', 'ftp.domena.cz' );
define( 'FTP_SSL', false );

Pokud jsi přesunul složky /wp-content nebo /plugins na jiné místo, můžeš také nastavit cesty k těmto složkám:

define( 'FTP_CONTENT_DIR', '/cesta-k-wordpress/wp-content/' );
define( 'FTP_PLUGIN_DIR', '/cesta-k-wordpress/wp-content/plugins/' );

FS_METHOD ssh2

Pro použití FS_METHOD ssh2 pro aktualizace musíš přidat následující zápis do souboru wp-config.php:

define( 'FS_METHOD', 'ssh2' );

Existují dva způsoby použití ssh2 pro aktualizace.

1. Použití bezplatného WordPress pluginu: SSH SFTP Updater Support.

2. Použití vestavěného SSH2 upgradéru, který vyžaduje rozšíření pecl SSH2. Pokud rozšíření není povoleno pro tvou verzi PHP, požádej svého poskytovatele hostingu, aby jej povolil (ve většině případů neprojde na sdíleném hostingu).

A teď bodově

Výhody FS_METHOD

  • Direct: Je to nejrychlejší a nejpohodlnější způsob, jak dostat soubory na web.
  • SSH2: Všechno, co pošleš, je zašifrované, takže se k tomu nikdo nedostane.
  • FTPext a ftpsockets: Tímhle způsobem posílá data většina lidí, takže to zná každý hosting.

Nevýhody FS_METHOD

  • Direct: Někdy to prostě nejde. Některé weby tohle neumožňují. A když není tvůj web dobře zabezpečený, může se stát, že se k tvým souborům někdo dostane.
  • SSH2: Je to trochu složitější na nastavení. A není to tak rozšířené jako ten klasický FTP.
  • FTPext a ftpsockets: Není to úplně bezpečné. A může to být pomalejší než ostatní způsoby.

Kdy a co použít?

  • Direct: Když to tvůj web podporuje a chceš, aby vše šlo co nejrychleji.
  • SSH2: Když ti záleží na bezpečnosti a chceš si ušetřit práci s opakovanými úkony.
  • FTPext nebo ftpsockets: Když to jinak nejde, nebo když jsi zvyklý na tenhle způsob.

Co bych poradil?

Nejlepší bude, když se zeptáš někoho, kdo ti tvůj web spravuje. Ten ti určitě poradí, co je pro tebe nejlepší.

Důležité upozornění

Nesprávné nastavení FS_METHOD může způsobit problémy s WordPressem. Pokud si nejsi jist, jakou hodnotu zvolit, poraď se s svým poskytovatelem hostingu.

Dokumentace WordPressu: https://developer.wordpress.org/