尝试升级MAMP时,会出现以下错误:
Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.
如何解决此问题的一些建议?
重现的步骤:
更新(1):
根据回答8375349/420953我尝试了两种可能来解决这个问题
两者都导致错误:
Could not get contents of package "/Applications/MAMP/bin/php/php5.3.6/bin/pear". Invalid tgz file.
upgrade failed
更新(2):
正在运行
导致输出
有了这个,我注意到我使用的是PEAR的“本地”版本。
我用
删除了它然后尝试用
升级MAMP版本的PEAR这导致错误
Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
使用
进行升级在本地安装(再次)。
正在运行
输出
这让我回到更新(2)的起点。似乎我无法在MAMP目录下升级PEAR。
更新(3):
我发布了问题
因为我的假设是这个问题的根源与MAMP PEAR配置有关。
更新(4):
我没有安装本地PEAR版本,这导致了一些问题。在安装本地版本(而不仅仅是MAMP)版本之后,更新MAMP版本的工作也很完美。
答案 0 :(得分:26)
有您确切问题的人似乎已在this MAMP forum thread中解决了这个问题。
您可以删除/Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
,也可以将该文件中的一行从"php_dir";s:44
更改为"php_dir";s:43
。
答案 1 :(得分:4)
编辑pear.conf:添加正斜杠" /"到了php_dir路径的末尾,同时保持s:44解决了我和几个同事的问题。
答案 2 :(得分:2)
我安装了XAMPP,我刚刚删除了/xampp/php/pear.ini,解决了同样的问题
答案 3 :(得分:1)
只是为其他人找到这个答案而迟到了。我的PEAR配置有几个问题,而不仅仅是php_dir配置设置。
我必须检查所有设置以验证计数是否正确。当所有错误修复我的PEAR再次正常工作。
在终端中看到此消息:
Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.
/MAMP/bin/php/php7.0.10/conf/pear.conf
)pear version
)只是为了澄清其他人发现这个问题。 PEAR Config文件是一个序列化对象,在运行命令时是非序列化的。
序列化对象看起来像s:5:"value"
,其中s:5定义了字符串的长度。