This article will cover the solution to the PEAR "Cannot use result of built-in function in write context" issue.
The Issue
If installing a pear package (for instance PHP Code Sniffer), when running:pear install PHP_CodeSnifferThis error is shown
PHP Fatal error: Cannot use result of built-in function in write context in ...\php\pear\Archive\Tar.php on line 639 Fatal error: Cannot use result of built-in function in write context in ...\pear\Archive\Tar.php on line 639This error is shown because the function is called by reference. More details about this issue can be found in this Pull Request.
The solution
You might be tempted to execute the followingpear install Archive_Tarwhich will result in the same error. Go to the line indicated in the error (639 in this case) and replace:
$v_att_list = & func_get_args();with
$v_att_list = func_get_args();The above means the func_get_args() isn't called by reference anymore.
Our recommendation
The above does fix the problem, but we recommend installing the Archive_Tar again so you have the latest working version. Run the following command:pear install Archive_TarThis will update your Archive Tar PEAR package. And to install the code sniffer run:
pear install PHP_CodeSniffer