I know this is like 2 years later. But I came across the same issue. I noticed that what it serialized was done incorrectly.
<?php
echo serialize(array(
"preferred_state"=>"stable",
"temp_dir"=>"E:\UniServerZ\home\us_pear/temp",
"bin_dir"=>"D:\UniServerZ\home\us_pear",
"php_dir"=>"E:\UniServerZ\home\us_pear\PEAR",
"doc_dir"=>"E:\UniServerZ\home\us_pear\PEAR/docs",
"data_dir"=>"E:\UniServerZ\home\us_pear\PEAR/data",
"test_dir"=>"E:\UniServerZ\home\us_pear\PEAR/tests",
"cache_dir"=>"E:\UniServerZ\home\us_pear\PEAR/cache",
"cache_ttl"=>array(
"php_bin"=>"D:\UniServerZ\core\php54\php.exe"
),
"download_dir"=>"E:\UniServerZ\home\us_pear/temp/download",
"http_proxy"=>"",
"__channels"=>array("__uri","doc.php.net","pecl.php.net")
));
?>
Just create a PHP file and put this in it, changing the paths. Make sure it is /temp. Not \temp as well. Run it and copy that into your config.