Bia*_*aly 2 php xampp pear phpunit ubuntu-11.10
我正在使用ubuntu 11.10作为我的本地机器上的root用户,我安装了xampp 1.7.7并且我是ubuntu的新手,同时遵循sitepoint上的教程(http://www.sitepoint.com/getting-关于如何安装梨以使用PhpUnit,我没有注意到它,但似乎我在CL中安装或使用现有的php版本5.3.6来做到这一点,而且梨安装也建立在这个版本,在安装xampp时,我现在有两个版本的php,xampp的5.3.8和5.3.6,无论如何,我想要做的是使用现有的xampp php版本并在其上构建pear,以使所有我的工作通过xampp.so我的问题是:
我在attampet做了以下解决问题:
我用bash写的:
gedit~/.bashrc
我添加到〜/ .bashrc文件的末尾以尝试更改环境路径:
export PATH =/opt/lampp/bin:$ PATH export PATH =/opt/lampp/lib/php:$ PATH export PATH =/opt/lampp/lib/php/PHPUnit/pearcmd.php:$ PATH
我使用'php -v'和'pear list'检查了php和pear版本,我得到了一个输出:
PHP 5.3.8(cli)(内建于2011年9月19日13:29:27)版权所有(c)1997-2011 PHP Group Zend Engine v2.3.0,版权所有(c)1998-2011 Zend Technologies
和梨:
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.9 stable
Console_Getopt 1.3.1 stable
PEAR 1.9.4 stable
PHPUnit 1.3.2 stable
Structures_Graph 1.0.4 stable
XML_Util 1.2.1 stable
Run Code Online (Sandbox Code Playgroud)
当我运行:'phpunit MessageTest.php':我明白了
PHP警告:require_once(PHP/CodeCoverage/Filter.php):无法打开流:第38行/ usr/bin/phpunit中没有此类文件或目录
警告:require_once(PHP/CodeCoverage/Filter.php):无法打开流:第38行/ usr/bin/phpunit中没有此类文件或目录PHP致命错误:require_once():无法打开所需的'PHP/CodeCoverage/Filter/usr/bin/phpunit上的.php'(include_path ='.:/ php/includes:/ opt/lampp/lib/php:/ opt/lampp/bin:/ opt/lampp/lib/php/PEAR')第38行
5.i运行以下命令,如其他问题所述,作为该错误的解决方案:
sudo apt-get remove phpunit
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear update-channels
sudo pear upgrade-all
sudo pear install --alldeps phpunit/PHPUnit
sudo apt-get install phpunit
Run Code Online (Sandbox Code Playgroud)
并更新包括php.ini的路径:
include_path = ".:/php/includes:/opt/lampp/lib/php:/opt/lampp/bin:/opt/lampp/lib/php/PEAR"
Run Code Online (Sandbox Code Playgroud)
php文件MessageTest.php:
<?php
require 'PHPUnit/Autoload.php';
$path = '/opt/lampp/lib/php/PEAR';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once 'PHPUnit/Framework/TestCase.php';
require_once 'Message/Controller/MessageController.php';
class MessageTest extends PHPUnit_Framework_TestCase{
private $message;
public function setUp() {
$this->message = new MessageController();
}
public function tearDown() {
}
public function testRepeat(){
$yell = "Hello, Any One Out There?";
$this->message->repeat($yell); //sending a request
$returnedMessage = $this->message->repeat($yell);//get a response
$this->assertEquals($returnedMessage, $yell);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
MessageController.php中的MessageController类,我正在尝试测试
<?php
class MessageController {
public function actionHelloWorld() {
echo 'helloWorld';
}
public function repeat($inputString){
return $inputString;
}
}
$msg = new MessageController;
?>
Run Code Online (Sandbox Code Playgroud)
我没有使用任何PHP框架,我只是让文件和类听起来就像这一切.
我仍然得到同样的错误:
PHP Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line
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='.:/php/includes:/opt/lampp/lib/php:/opt/lampp/bin:/opt/lampp/lib/php/PEAR') in /usr/bin/phpunit on line 38
Run Code Online (Sandbox Code Playgroud)
当然,我在这里要求很高,我浪费了很多时间,对此非常沮丧,希望你们不要厌倦阅读我的问题,我感谢你们的帮助
感谢Mohamad elbialy
最后,我得到了关于如何将xampp的php和pear链接到CL(ubuntu的bash shell)的问题的答案,在终端窗口中输入以下内容:
gedit ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
该文件打开,您将以下内容添加到文件末尾:
export PATH=/opt/lampp/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
并确保在终端中键入以下内容:
echo $PATH
Run Code Online (Sandbox Code Playgroud)
您将在回显路径中看到'/ opt/lampp/bin'以及默认情况下添加的其他内容这是在搜索论坛,其他stackoverflow和超级用户问题2-3天后对我有用的唯一方法
要检查CL是否正在处理xampp的php和pear版本,请输入以下内容:
php -v 显示了php的版本pear list 显示梨的版本以及梨依赖包现在,我一直这样做是为了让PHPunit在CL工作5天,想象一下挫折,作为Ubuntu的新手,我做了很多sudo而不是sudo命令,错过了我的整个事情,所以我决定做一个ubuntu的全新安装(删除我安装的所有那些pear,php和phpunit软件包并且无法跟踪它们的路径)所以从新的ubuntu 11.10和xampp 1.7.7开始,我做了以下工作让phpunit工作:
sudo /opt/lampp/bin/pear uninstall phpunit (xampp是1.2.something,我想安装3.6.10)sudo /opt/lampp/bin/pear list(PHPunit不存在,这是一个检查),PHPunit手册1中建议的以下步骤sudo /opt/lampp/bin/pear config-set auto_discover 1 (打开下载频道或其他内容)sudo /opt/lampp/bin/pear install pear.phpunit.de/PHPUnit(这安装版本3.6.10),现在输入CL :(
sudo /opt/lampp/bin/phpunit --version这显示3.6.10的版本,是的,你已经做到了)我使用/ opt/lampp/bin/phpunit,让你看到快速的结果,不,你不需要在工作路径中包含任何东西,你已经完成了,你需要关闭那个终端并打开一个新的并只键入,phpunit --version,你会得到相同的结果,它就在那里,它都是你的
注意:
| 归档时间: |
|
| 查看次数: |
3950 次 |
| 最近记录: |