2012-04-05 49 views
2

我正在使用ubuntu 11.10作爲root在本地機器上,我安裝了xampp 1.7.7,並且我是Ubuntu新手, sitepoint上的教程(http://www.sitepoint.com/getting-started-with-pear/)關於如何安裝pear來使用PhpUnit,我沒有注意到它,但似乎我安裝或使用了現有的PHP版本5.3.6在CL中這樣做,梨的安裝也是在這個版本上構建的,而在安裝xampp的時候,我現在有兩個版本的php,xampp的5.3.8和5.3.6,無論如何,我想要做的是使用現有的xampp php版本並在其上創建梨,以使我所有的工作都能通過xampp.so我的問題是:我想將xampp 1.7.7鏈接到php CLI

  1. 如何取消停止的PHP V5.3.6,它的梨安裝?
  2. 如何鏈接CL與PHP版本。 xampp的?
  3. 如何構建php ver上的下一個pear安裝。 xampp的?
  4. 我想我所有的網頁開發。通過xampp工作,還有什麼我需要unistall,以避免這種混淆? 4.

我的確在attampet下面要解決的問題:

  1. 我在bash寫了這個:

    的gedit的〜/ .bashrc

  2. 我補充說, 〜/ .bashrc文件結束嘗試更改環境路徑:

    export PATH =/opt/lampp/bin:$ PATH 出口PATH = /選擇/ LAMPP/lib中/ PHP:$ PATH 出口PATH = /選擇/ LAMPP/lib中/ PHP/PHPUnit的/ pearcmd.php:$ PATH

  3. 我檢查使用'的PHP和梨版php -v'和'pear list' 我得到了一個輸出:

    PHP 5.3.8(cli)(built:Sep 19 2011 13:29:27) Copyright(c)1997-2011 The PHP Group Zend引擎V2.3.0,版權所有(C)1998-2011 Zend技術

和梨:

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 
  1. 當我運行: 'PHPUnit的MessageTest.php':我得到

    PHP的警告:require_once(PHP /代碼覆蓋率/ Filter.php):未能打開流:沒有這樣的文件或目錄在上線的/ usr/bin中/ PHPUnit的38

    警告:require_once(PHP /代碼覆蓋率/ Filter.php):未能打開流:在/ usr/bin中/ PHPUnit的沒有這樣的文件或目錄上線38 PHP致命錯誤:require_once():無法打開所需的'PHP/CodeCoverage/Filter.php'(include_path ='。:/ php/includes:/ opt/lampp/lib/php:/ opt/lampp/bin:/ opt/l ampp/lib/php/PEAR')在線38上的/ usr/bin/phpunit中

5。我跑以下命令中所報告的其他問題作爲解決該錯誤:

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 

和更新,包括php.ini的路徑是:

include_path = ".:/php/includes:/opt/lampp/lib/php:/opt/lampp/bin:/opt/lampp/lib/php/PEAR" 

php文件MessageTest.php:

從MessageController.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); 
    } 
    } 
?> 

MessageController類,我試圖測試

<?php 

    class MessageController { 
    public function actionHelloWorld() { 
     echo 'helloWorld'; 
    } 
    public function repeat($inputString){ 
     return $inputString; 
    } 
    } 
    $msg = new MessageController; 
?> 

我沒有使用任何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 

肯定的是,我越來越苛刻這裏,我已經浪費了很多時間,沒了這個很沮喪,希望你們不要感到厭倦讀書通過我的問題,我感謝您的幫助提前

感謝, 穆罕默德elbialy

回答

6

最後,我得到了關於如何在XAMPP的PHP和梨鏈接到CL問題的答案(bash shell中的Ubuntu) ty PE在終端窗口中執行以下操作:

gedit ~/.bashrc 

文件打開,你添加以下到文件的末尾:

export PATH=/opt/lampp/bin:$PATH 

,並確保類型的終端執行以下操作:

echo $PATH 

您將在回顯路徑中看到'/ opt/lampp/bin'以及其他人默認添加的 這是在搜索論壇2-3天后爲我工作的唯一方法,其他堆棧verflow和超級用戶的問題

來檢查CL是處理XAMPP的PHP和梨的版本,鍵入以下內容:

  1. php -v展示的php
  2. pear list的版本顯示梨的版本與梨一起相關軟件包

現在,我一直在做這做PHPUnit的工作,CL,連續5天,想象中的沮喪, 是一個新手到Ubuntu我做了須藤的很多和n所以我決定做一個全新的ubuntu安裝(刪除所有那些我安裝的梨,php和phpunit包,並且不能跟蹤他們的路徑) 所以從新鮮的Ubuntu 11.10開始和XAMPP 1.7.7,我做了以下做出PHPUnit的工作:

  1. 我所做的鏈接XAMPP的PHP和梨CL(我怎麼寫以上), 型在CL以下步驟:
  2. sudo /opt/lampp/bin/pear uninstall phpunit(xampp's是1.2。什麼,我想安裝3.6.10)
  3. sudo /opt/lampp/bin/pear list(PHPUnit的是不存在的,這是一個檢查), 以下步驟PHPUnit中建議手動1
  4. sudo /opt/lampp/bin/pear config-set auto_discover 1(打開下載通道或某事)
  5. 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 /箱/ phpunit,讓你看到快速的結果不,你不需要在工作路徑中包含任何東西,你已經這樣做了,你需要關閉那個終端並打開一個新的,只輸入phpunit --version,你會得到相同的結果,它在那裏,它完全屬於

注:

  1. 我用「的/ opt/LAMPP /斌/的東西,然後命令」,通過XAMPP的PHP和梨逼我的安裝,這是沒有必要(因爲你設置環境路徑),但是當你花費超過5天的搜索時間時,這就是你要做的事情。
  2. 我試着用phpunit 1.2.something的xampp的,但它似乎不是在那裏的命令行,我不知道爲什麼,我不想要,所以如果發生在你身上,你想ver.1.2.something ,發現所有的版本,使用這個鏈接(http://pear.phpunit.de/)的指示,做同樣的步驟進行安裝, 我沒有嘗試的方法在該鏈接,如果您遇到問題,你可以到這個答案評論,
+0

感謝Elbialy ...你的問題+答案真的幫助我很多! – bakazero 2012-07-11 17:58:33

+0

輝煌的東西的人。幾個星期以來我一直在爲此感到頭痛!感謝您發佈此信息。 – maxxon15 2014-03-24 00:26:07

+0

我很高興知道我一年前發佈的東西仍然在幫助人們。 – Bialy 2014-04-02 08:30:32