I'm trying to run this simple code on both PHP 7 and 8:
$loop = \React\EventLoop\Factory::create();
$filesystem = \React\Filesystem\Filesystem::create($loop);
$file = $filesystem->file('test.txt');
$file->getContents()->then(function ($contents) {
    echo $contents . PHP_EOL;
});
$loop->run();
After installing via composer, and yet it tells me that adapter is missing
Error:
PHP Fatal error:  Uncaught RuntimeException: No supported adapter found for this installation in \root\src\Filesystem.php:31
Stack trace:
#0 \root\try.php(6): React\Filesystem\Filesystem::create()
#1 {main}
  thrown in \root\vendor\react\filesystem\src\Filesystem.php on line 31
 
                        
Just look where and why the exception originated. (I will use
react/filesystem:0.1.2in code examples.)The exception was thrown in
React\Filesystem\Filesystem::create(). List of supported adapters is obtained fromReact\Filesystem\Filesystem::getSupportedAdapters().This way you will come to methods which define whether given adapter is available on your platform:
Method
Eio\Adapter::isSupported():return substr(strtolower(PHP_OS), 0, 3) !== 'win' && function_exists('proc_open');This means your platform must not be Windows and
proc_open()function must exist (i.e. it must not be disabled for security reasons bydisable_functionsdirective).Method
ChildProcess\Adapter::isSupported():return extension_loaded('eio');This means
eioPHP extension must be installed, see installation instructions.For me it also does not work as I am on Windows. For development with ReactPHP, it is generally a good idea to run PHP on Linux virtual machine for better compatibility.