[英]PHPUnit , PEAR upgrading Errors
注意:我已閱讀有關此問題的所有問題
PEAR在我的系統上安裝和配置(Ubuntu 11.10 + Apache / 2.2.20)。 因為
<?php
require_once 'System.php';
var_dump(class_exists('System', false));
?>
回來這個:
bool(true)
當我試圖使用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
在此錯誤之后我決定安裝它
sudo /usr/bin/pear install phpunit/PHP_CodeCoverage
但我得到了
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.4), installed version is 1.9.2
使用sudo pear upgrade
升級PEAR時出現此錯誤
PHP Fatal error: Call to undefined method PEAR_Registry::packageinfo() in /usr/share/php/PEAR/Dependency2.php on line 687
我不確定是什么問題?
額外
( 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
軟件包。
PEAR 1.9.2已經過時,並且破壞了新的梨形服務器基礎設施修復的希望。
我不知道為什么發行版仍然堅持一些剛剛破壞的東西:)
Install a new pear via go-pear.phar
,並確保你有pear version 1.9.4
然后強制梨忽略它的舊緩存文件使用
sudo pear install --force --alldeps phpunit/phpunit
sudo apt-get purge php5-pear
現在
which pear
應導致命令未被找到。 如果它仍然存在刪除/ usr / share / php中的二進制文件和相關的php類。
從您的控制台歷史記錄中我會說您沒有安裝具有sudo
權限的新梨,因此它位於/ home /或/ usr / local /而不是默認系統位置。
只要你這應該沒關系
對特定環境進行故障排除可能很困難......但是,這里......
我沒有使用實際的pear.phpunit.de
通道安裝PHPUnit時遇到問題, 特別是在嘗試使用像apt-get或yum這樣的包管理器時。 首先,您需要確保您的梨裝置是最新的。 從包管理器中殺死現有安裝:
然后確保刪除可執行二進制文件(如果它仍然存在)。 這可能是/ usr / bin / pear ,但您可能需要根據您的環境修改路徑:
接下來通過下載go-pear.phar並執行它來安裝新的pear。 確保使用sudo權限(或以root身份)安裝它,以便將其安裝在正確的位置 :
然后,您可以通過執行下一個命令來驗證pear的工作原理。 如果是這樣,您將獲得一個命令列表:
最后,升級梨(以防萬一 - 你畢竟使用go-pear.phar獲得最新版本)。 在此之后,請確保使用實際的pear.phpunit.de通道來安裝PHPUnit:
這對我來說效果很好......希望它有所幫助。
UPDATE
要獲得PHPUnit的所有功能,您可能還需要執行以下操作:
你認為--alldeps會涵蓋這個,但......
更新2
此方法不適用於當前的Ubuntu 11.10,因為它安裝了破碎的梨安裝程序1.9.2 ...
在使用go-pear.phar安裝方法繼續出現問題的情況下,這是另一種方法...
接下來,告訴PEAR更新自己的頻道。
然后,告訴PEAR將自己升級到最新版本。
最后,安裝上面禁止的PHPUnit ...
我通過手動安裝讓我的工作。
我剛剛升級了我的Ubuntu系統,我的PEAR 1.9.4穩定了。 跑
sudo apt-get update
sudo apt-get upgrade
讓你的Ubuntu同步和最新。
如果您仍在努力使用上述版本,我的建議是安裝與您的phpunit兼容的PHP_CodeCoverage的早期版本。 在我升級系統之前,我使用PEAR 1.9.2安裝了phpunit-3.5.15(穩定版),PHP_CodeCoverage 1.0.5(穩定版)。 如果這是你的phpunit版本
sudo pear install PHP_CodeCoverage-1.0.5
應該使用PEAR 1.9.2安裝PHP_CodeCoverage。
我希望這會有所幫助,讓你的單元測試運行起來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.