Without xdebug:
vagrant@vagrant:~$ echo ';' | time mwscript eval.php 0.12user 0.04system 0:00.23elapsed 73%CPU (0avgtext+0avgdata 46968maxresident)k 0inputs+16outputs (0major+8104minor)pagefaults 0swaps
With xdebug:
vagrant@vagrant:~$ echo ';' | time mwscript eval.php PHP Warning: require(/vagrant/mediawiki/includes/debug/logger/monolog/LogstashFormatter.php): failed to open stream: Too many open files in /vagrant/mediawiki/includes/AutoLoader.php on line 109 [snip; trace is something like eval.php -> Setup.php -> ExtensionRegistry::getCache -> ObjectCache -> LoggerFactory -> MonologSpi, so pretty early on in the setup] Command exited with non-zero status 255 1.22user 2.81system 0:23.61elapsed 17%CPU (0avgtext+0avgdata 173928maxresident)k 0inputs+95288outputs (0major+39738minor)pagefaults 0swaps
The error can be avoided by raising ulimit (which is 1024 by default), but then it just hangs forever.
(Note also the huge difference in outputs - 16 vs. 95288.)
A simple non-MediaWiki test:
vagrant@vagrant:~$ for i in {1..1100}; do echo -e '<?php\nreturn '$i';' > script$i.php; done vagrant@vagrant:~$ cat > script.php <?php for ($i = 1; $i<=1100; $i++) { require "script$i.php"; } vagrant@vagrant:~$ xdebug_off vagrant@vagrant:~$ /usr/bin/time php script.php 0.04user 0.02system 0:00.08elapsed 85%CPU (0avgtext+0avgdata 28496maxresident)k 1544inputs+0outputs (0major+3431minor)pagefaults 0swaps vagrant@vagrant:~$ xdebug_on vagrant@vagrant:~$ /usr/bin/time php script.php 0.45user 1.44system 0:12.50elapsed 15%CPU (0avgtext+0avgdata 97904maxresident)k 0inputs+46712outputs (0major+20740minor)pagefaults 0swaps
that's about 10ms per file opened, and about 4000 outputs (whatever those are) per require.
(Note that this is in the vagrant user's home directory. So, not an NFS / shared folder issue, or at least not straightforwardly.)
vagrant@vagrant:~$ php --version PHP 7.2.26-1+0~20191218.33+debian9~1.gbpb5a340+wmf1 (cli) (built: Jan 9 2020 12:24:18) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.26-1+0~20191218.33+debian9~1.gbpb5a340+wmf1, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.7.0, Copyright (c) 2002-2019, by Derick Rethans
Nothing obviously related in the 2.7 release notes (not sure if it's specific to that release, anyway).