我可以看到GD库是用于图像的.但我看不出PECL和PEAR之间的差异.两者都有身份验证 两者之间的主要区别是什么?他们为什么不把它们结合起来?
我通过PEAR 1.9.0安装PHPUnit 3.4.6时遇到问题.在我发现channel pear.phpunit.de并尝试使用以下命令之一后:
pear安装phpunit/PHPUnit
pear install --alldeps phpunit/PHPUnit
pear install --onlyreqdeps phpunit/PHPUnit
它失败了,给我以下错误:
没有可用于"pear.phpunit.de/PHPUnit"包的版本
安装失败
我发现有几个线程来自同样问题的人,但将PEAR升级到最新版本通常适用于他们.似乎还有几乎没有安装PHPUnit for Windows的教程.
编辑:
我也尝试将prefered_state更改为beta; 没有帮助.
我还尝试获取所有可用包的列表:
pear remote-list -c phpunit
它给了我另一个错误:
无法下载非http网址"/c/categories.xml"
我运行命令: sudo pecl install apc
文件下载,配置成功,然后make
启动,我收到以下错误.
/usr/include/php5/ext/pcre/php_pcre.h:29: fatal error: pcre.h: No such file or directory
有办法解决吗?
虽然我确信其他人最终已经设法解决了这个问题,但我一直在关注各种文档,并且已经有了一段艰难的时间.
http://www.phpunit.de/manual/current/en/installation.html
听起来很容易.但是,根据您的设置,您可能会陷入一个兔子洞.
例如,PEAR必须是高于1.8.1的版本.我当时有1.8.0,所以我去了解如何更新PEAR
PEAR upgrade-all
Run Code Online (Sandbox Code Playgroud)
给出错误.无法访问.
sudo PEAR upgrade-all
Run Code Online (Sandbox Code Playgroud)
工作,但升级用户'sudo'拥有的PEAR安装(而不是你的主要帐户...或类似的东西,短版本是5,它显然不起作用)
cd ~
pico .bash_profile
Run Code Online (Sandbox Code Playgroud)
加
export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
当您输入PEAR时,为您提供正确的PEAR,您终于准备好了安装PHPUnit指令的第1步.
pear channel-discover pear.phpunit.de
Run Code Online (Sandbox Code Playgroud)
错误.您无权访问/ usr/local/temp
sudo chmod 777 /usr/local/temp
Run Code Online (Sandbox Code Playgroud)
错误.您无权访问/usr/local/temp/channel.xml
sudo chmod 777 /usr/local/temp/channel.xml
pear channel-discover pear.phpunit.de
Run Code Online (Sandbox Code Playgroud)
错误.
Registry directory is not writeable by the current user
Run Code Online (Sandbox Code Playgroud)
但我在MAC上!
/sigh
/facepalm
/tears
Run Code Online (Sandbox Code Playgroud)
我实际上在我的机器上有一个phpunit的"工作副本".(YAY!)奇怪的问题是它只在我从一个特定文件夹输入phpunit时才有效
cd /usr/local/PEAR
phpunit
Run Code Online (Sandbox Code Playgroud)
^^工作
cd ~
phpunit
Run Code Online (Sandbox Code Playgroud)
^^返回
Warning: require_once(PHPUnit/Util/Filter.php): failed to open stream: No such file or directory in /usr/local/bin/phpunit on line 46
Fatal error: require_once(): Failed opening …
Run Code Online (Sandbox Code Playgroud) 我在我的系统上安装了一个新的PHPUnit副本(Ubuntu 11),但每当我输入phpunit
控制台时,我都会收到以下错误:
PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/bin/phpunit on line 39
据我所知,我安装了PHPUnit的代码覆盖率:
>sudo pear install phpunit/PHP_CodeCoverage
phpunit/PHP_CodeCoverage is already installed and is the same as the released version 1.1.1
install failed
为什么我会收到此错误,如何解决?
所以看起来新的'系统完整性保护' 锁定/usr(以及其他目录)使得梨和pecl成为非首发.有没有人找到一个解决方法而不是禁用它?
我正在使用Debian挤压服务器.我已经安装了PEAR aptitude install php-pear
.这创建了一个目录/usr/share/php/PEAR
.
我安装了一些PEAR包,包括Phing.我使用了Phing文件pear install --alldeps phing/phing
并显示了文件/usr/share/php/phing
.
但是不应该把PEAR包(在正常情况下)放入/usr/share/php/PEAR
?我跑的时候
pear config-get php_dir
Run Code Online (Sandbox Code Playgroud)
我得到了" /usr/share/php
".我有错误的配置吗?
从我读过的内容来看,似乎我应该能够设置一个文件夹,例如tests /,用单元测试类放入一些文件,然后在该文件上运行phpunit并让它找到并运行测试.
无论出于何种原因,在我的安装中(在OS X上),它认为文件夹tests /是一个文件,或者看起来如此:
$ ls tests
test1.php test2.php
$ phpunit tests/test1.php
PHPUnit 3.5.3 by Sebastian Bergmann.
F
Time: 0 seconds, Memory: 5.00Mb
There was 1 failure:
1) FailingTest::testFail
Your test successfully failed!
/Users/****/tmp/tests/test1.php:4
FAILURES!
Tests: 1, Assertions: 0, Failures: 1.
$ phpunit tests/test2.php
PHPUnit 3.5.3 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 5.00Mb
OK (1 test, 1 assertion)
$ phpunit tests
PHP Fatal error: Uncaught exception 'PHPUnit_Framework_Exception' with message 'Neither "tests.php" nor "tests.php" could be opened.' in …
Run Code Online (Sandbox Code Playgroud) 我想将我的PHPUnit 3.4安装降级到3.3.我只是不确定该怎么做.
如何使用PEAR在Ubuntu上安装3.3版的PHPUnit?