PHPUnit,PEAR升级错误

Era*_*ray 9 php ubuntu pear phpunit

注意:我已阅读有关此问题的所有问题

PEAR在我的系统上安装和配置(Ubuntu 11.10 + Apache/2.2.20).因为

<?php
require_once 'System.php';
var_dump(class_exists('System', false));
?> 
Run Code Online (Sandbox Code Playgroud)

回来这个:

bool(true)
Run Code Online (Sandbox Code Playgroud)

(PEAR手册:检查PEAR是否正常工作步骤4)

当我试图使用phpunit我收到此错误.

PHP Warning:  require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38
PHP Fatal error:  require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38
Run Code Online (Sandbox Code Playgroud)

在此错误之后我决定安装它

sudo /usr/bin/pear install phpunit/PHP_CodeCoverage
Run Code Online (Sandbox Code Playgroud)

但我得到了

phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2
Run Code Online (Sandbox Code Playgroud)

升级PEAR时出现此错误 sudo pear upgrade

PHP Fatal error:  Call to undefined method PEAR_Registry::packageinfo() in /usr/share/php/PEAR/Dependency2.php on line 687
Run Code Online (Sandbox Code Playgroud)

我不确定是什么问题?

额外

(command:result)

/usr/bin/pear config-get php_dir : /usr/share/php

Configuration File (php.ini) Path (on phpinfo();) : /etc/php5/apache2

php -c /etc/php5/apache2/php.ini -r 'echo get_include_path()."\n";' : .:/usr/share/php

pear upgrade pear : PHP Fatal error: Call to undefined method PEAR_Registry::packageinfo() in /usr/share/php/PEAR/Dependency2.php on line 687

PEAR版本:1.9.2并php-pear安装了包.

edo*_*ian 9

PEAR 1.9.2已经过时,并且破坏了新的梨形服务器基础设施修复的希望.

我不知道为什么发行版仍然坚持一些刚刚破坏的东西:)

Install a new pear via go-pear.phar并确保你有pear version 1.9.4,然后强制梨忽略它的旧缓存文件使用

sudo pear install --force --alldeps phpunit/phpunit
Run Code Online (Sandbox Code Playgroud)

摆脱旧梨:

sudo apt-get purge php5-pear
Run Code Online (Sandbox Code Playgroud)

现在

which pear
Run Code Online (Sandbox Code Playgroud)

应导致命令未被找到.如果它仍然存在删除/ usr/share/php中的二进制文件和关联的php类.

从您的控制台历史记录中我会说您没有安装具有sudo权限的新梨,因此它位于/ home /或/ usr/local /而不是默认系统位置.

只要你这应该没关系

  • 摆脱老梨
  • 将php.ini include_path更改为新的pear安装位置