簡體   English   中英

我想將 xampp 1.7.7 鏈接到 php CLI

[英]I want to link xampp 1.7.7 to the php CLI

我在我的本地機器上以 root 身份使用 ubuntu 11.10,我已經安裝了 xampp 1.7.7,我是 ubuntu 的新手,同時遵循 sitepoint 上的教程(http://www.sitepoint.com/getting- started-with-pear/) 關於如何安裝 pear 以使用 PhpUnit,當時我沒有注意到,但似乎我在 CL 中安裝或使用了現有的 php 版本 5.3.6 來執行此操作,而且 pear 安裝是基於這個版本,雖然正在安裝 xampp,但我現在有兩個版本的 php,xampp 的 5.3.8 和 5.3.6,無論如何,我想做的是使用現有的 xampp php 版本並在此基礎上構建 pear,使所有我的工作通過 xampp.so 我的問題是:

  1. 如何卸載php V5.3.6及其pear安裝?
  2. 如何將 CL 與 php ver。 xampp 的?
  3. 如何在 php 版本上構建下一個 pear 安裝。 xampp 的?
  4. 我想要我所有的 web 開發者。 通過 xampp 工作,還有什么我需要卸載的,以避免這種混亂嗎? 4.

我在 attampet 中做了以下事情來解決這個問題:

  1. 我在 bash 中寫了這個:

    gedit ~/.bashrc

  2. 我將其添加到 ~/.bashrc 文件的末尾以嘗試更改環境路徑:

    導出 PATH=/opt/lampp/bin:$PATH 導出 PATH=/opt/lampp/lib/php:$PATH 導出 PATH=/opt/lampp/lib/php/PHPUnit/pearcmd.php:$PATH

  3. 我使用“php -v”和“pear list”檢查了 php 和 pear 版本,我得到了以下輸出:

    PHP 5.3.8 (cli) (built: Sep 19 2011 13:29:27) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (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
  1. 當我運行時:'phpunit MessageTest.php':我得到

    PHP 警告:require_once(PHP/CodeCoverage/Filter.php):無法打開 stream:第 38 行的 /usr/bin/phpunit 中沒有此類文件或目錄

    警告:require_once(PHP/CodeCoverage/Filter.php): 無法打開 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') 在 /usr/bin/phpunit 上第 38 行

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:

<?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 的 MessageController class 我正在嘗試測試

<?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

當然,我在這里要求很高,我浪費了很多時間並且對此感到非常沮喪,希望你們不要厭倦閱讀我的問題,感謝你們的幫助

提前致謝, Mohamad elbialy

最后,我得到了關於如何將 xampp 的 php 和 pear 鏈接到 CL(對於 ubuntu 為 bash shell)的問題的答案,在終端 window 中鍵入以下內容:

gedit ~/.bashrc

該文件打開,您將以下內容添加到文件末尾:

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

並確保在終端中輸入以下內容:

echo $PATH

您會在回顯路徑中看到“/opt/lampp/bin”以及默認添加的其他路徑,這是在搜索論壇 2-3 天、其他 stackoverflow 和超級用戶問題后對我有用的唯一方法

要檢查 CL 是否正在處理 xampp 的 php 和 pear 版本,請鍵入以下內容:

  1. php -v顯示php的版本
  2. pear list顯示 pear 的版本以及 pear 依賴包

現在,我一直這樣做是為了讓 PHPunit 在 CL 中工作 5 天,想象一下挫敗感,作為 Ubuntu 的新手,我做了很多 sudo 而不是 sudo 命令,這對我來說錯過了整個事情,所以我決定重新安裝 ubuntu(刪除我安裝的所有這些 pear、php 和 phpunit 包,但無法跟蹤它們的路徑)所以從一個新的 ubuntu 11.10 和 xampp 1.7.7 開始,我做了 884274 以下的 make2074:

  1. 我用 cL 為 xampp 的 php 和 pear 創建了鏈接(我在上面寫了如何),在 CL 中鍵入以下步驟:
  2. sudo /opt/lampp/bin/pear uninstall phpunit (xampp 是 1.2.something,我想安裝 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/bin/phpunit,讓您快速看到結果,不,您不需要在工作路徑中包含任何內容,您已經這樣做了,您需要關閉該終端並打開一個新終端並僅輸入, phpunit --version,你會得到相同的結果,它就在那里,都是你的

筆記:

  1. 我使用了“/opt/lampp/bin/something 然后是命令”,通過 xampp 的 php 和 pear 強制我的安裝,這不是必需的(因為你設置了環境路徑),但這就是你做事的方式當你花費超過 5 天的搜索時間。
  2. 我嘗試使用 phpunit 1.2.xampp 的一些東西,但它似乎不存在於命令行中,我不知道為什么也不想,所以如果你遇到這種情況並且你想要 ver.1.2.something,找到所有版本,使用此鏈接 ( http://pear.phpunit.de/ ) 中的說明並執行相同的步驟來安裝它,我沒有嘗試該鏈接中的方法,如果你遇到困難,你可以評論這個答案,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM