Requirements
If you look at the flysystem.install file (it's currently the same whether you installed 2.0.x or 8.x-1.x), you can see the code used for flysystem_requirements()
.
The general structure of the checking is as follows:
- Validate the schemes in settings.php
- Make sure the dependencies are installed:
a) League\Flysystem\Filesystem
b) League\Flysystem\Replicate\ReplicateAdapter
c) Twistor\FlysystemStreamWrapper
- Then, it calls
ensure()
on the plugin for each scheme, and makes sure the plugin can be instantiated.
This 3rd step calls this code (src/FlysystemFactory.php):
public function getPlugin($scheme) {
if (!isset($this->plugins[$scheme])) {
$settings = $this->getSettings($scheme);
$this->plugins[$scheme] = $this->pluginManager->createInstance($settings['driver'], $settings['config']);
}
return $this->plugins[$scheme];
}
It also provides the defaults:
protected $defaults = [
'driver' => '',
'config' => [],
'replicate' => FALSE,
'cache' => FALSE,
'name' => '',
'description' => '',
];
Given the above information, your plugin and schema should have declared your driver with 'driver' => 'ftp'
.
Solution?
Also, on the main module page under "supported adapters", it says:
Ftp (Requires the ftp extension)
Though I'm not sure, since it doesn't link to another module like the other adapters, I think it means the PHP extension. Try installing the ftp
PHP extension. Here's the page for setup instructions.