Helping a customer update from a xampp system using php7 to php8.
They want pecl working.
Using xampp with PHP 8.0.6
The following files have array and string offsets that need to be fixed, which I have and it took a while.
This involved the replacement of {} with [] or () as needed.
String offsets get [].
arg() and other parametered calls get ().
xampp\php\pear\System.php
xampp\php\pear\Console\Getargs.php
xampp\php\pear\Console\Getopt.php
xampp\php\pear\File\Find.php
xampp\php\pear\File\Util.php
xampp\php\pear\File\Passwd\Custom.php
xampp\php\pear\OS\Guess.php
xampp\php\pear\PEAR\Autoloader.php
xampp\php\pear\PEAR\Builder.php
xampp\php\pear\PEAR\Command.php
xampp\php\pear\PEAR\Common.php
xampp\php\pear\PEAR\Config.php
xampp\php\pear\PEAR\DependencyDB.php
xampp\php\pear\PEAR\Downloader.php
xampp\php\pear\PEAR\Installer.php
xampp\php\pear\PEAR\PackageFile.php
xampp\php\pear\PEAR\Registry.php
xampp\php\pear\PEAR\Validate.php
xampp\php\pear\PEAR\Command\Channels.php
xampp\php\pear\PEAR\Command\Common.php
xampp\php\pear\PEAR\Command\Config.php
xampp\php\pear\PEAR\Installer\Role.php
xampp\php\pear\PEAR\PackageFile\v1.php
xampp\php\pear\PEAR\PackageFile\Generator\v1.php
xampp\php\pear\PEAR\PackageFile\v2\Validator.php
xampp\php\pear\PHP\CodeSniffer.php
xampp\php\pear\PHP\CodeSniffer\CLI.php
xampp\php\pear\PHP\CodeSniffer\File.php
xampp\php\pear\PHP\CodeSniffer\CommentParser\AbstractParser.php
xampp\php\pear\PHP\CodeSniffer\CommentParser\CommentElement.php
xampp\php\pear\PHP\CodeSniffer\Standards\MySource\Sniffs\Channels\DisallowSelfActionsSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\MySource\Sniffs\CSS\BrowserSpecificStylesSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\PEAR\Sniffs\Commenting\FileCommentSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\PEAR\Sniffs\Commenting\InlineCommentSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\PEAR\Sniffs\NamingConventions\ValidClassNameSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\PEAR\Sniffs\NamingConventions\ValidFunctionNameSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\PEAR\Sniffs\NamingConventions\ValidVariableNameSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\Squiz\Sniffs\Commenting\FileCommentSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\Squiz\Sniffs\Commenting\FunctionCommentSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\Squiz\Sniffs\Commenting\InlineCommentSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\Squiz\Sniffs\CSS\ColourDefinitionSniff.php
xampp\php\pear\PHP\CodeSniffer\Standards\Squiz\Sniffs\CSS\OpacitySniff.php
xampp\php\pear\PHP\CodeSniffer\Tokenizers\CSS.php
xampp\php\pear\PHP\Compat\Function\strripos.php
xampp\php\pear\PHP\CompatInfo\Cli.php
xampp\php\pear\PHP\CompatInfo\Renderer\Text.php
xampp\php\pear\PHP\CompatInfo\Renderer\Xml.php
xampp\php\pear\Text\Wiki\Parse\Default\Smiley.php
xampp\php\pear\Text\Wiki\Parse\Default\Wikilink.php
xampp\php\pear\Text\Wiki\Render\Xhtml\Colortext.php
xampp\php\pear\Text\Wiki\Render\Xhtml\Url.php
xampp\php\pear\XML\Util.php
Got pecl to give command list.
When I tried pecl list I got more errors
Each is deprecated in php7, removed in php8.
The following files need to have each() logic converted to foreach() logic.
xampp\php\pear\PEAR.php
xampp\php\pear\adodb\adodb-datadict.inc.php
xampp\php\pear\adodb\adodb-error.inc.php
xampp\php\pear\adodb\adodb.inc.php
xampp\php\pear\adodb\toexport.inc.php
xampp\php\pear\adodb\drivers\adodb-ado.inc.php
xampp\php\pear\adodb\drivers\adodb-ado5.inc.php
xampp\php\pear\Console\Getopt.php
xampp\php\pear\File\Find.php
xampp\php\pear\PEAR\Autoloader.php
xampp\php\pear\PEAR\Command\Common.php
xampp\php\pear\PHP\UML\Input\PHP\ParserImpl.php
xampp\php\pear\PHPUnit\Util\Getopt.php
xampp\php\pear\Text\Diff\Engine\native.php
Perhaps the each() can simply be replaced with foreach(), don't know yet.
Just wanted to pass on what I have found so far.