2012-05-11 65 views
11

我完全茫然不知所措,我即將清理硬盤,並從全新的操作系統安裝開始。我一直試圖在終端上創建一個新的yii應用兩天,終於發現終端或命令行甚至不能突然執行PHP。我在過去通過命令行創建執行php時沒有問題,但現在它不起作用。當我輸入其中php我什麼也沒得到。當我鍵入PHP -v我得到:如何讓PHP在命令行中再次運行?

-bash: php: command not found. 

,當我嘗試創建一個新的Yii應用,我得到:

env: php: No such file or directory 

我使用的Mac OSX獅子和我的路徑看起來像這在當下:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin 

我試着翻翻PHP手冊中,我越來越行不通。我如何重新配置​​命令行來執行php?任何幫助是極大的讚賞。

+0

不知道你的分佈,但你可能要檢查是否安裝了PHP包? – Philippe

+2

我假設你可能沒有在你的PATH變量中使用php。在Linux Mint中,php安裝在/ usr/bin /中。嘗試/ usr/bin/php -v並查看是否有效。如果是這樣,請按照以下答案中的一條建議。 – EmmanuelG

+0

@EmmanuelG我試過了,我沒有這樣的文件或目錄。我無法在任何地方找到它,並開始懷疑它是否已經安裝。 – MikeTheCoder

回答

19

希望這可以節省很多人的頭痛。如果出於任何原因無法在您的命令行中找到php,並且無法從命令行執行php,那麼下面是獲取並重新運行PHP的步驟列表。

  1. 雙重檢查,以確保PHP是沒有通過打開你的終端,並鍵入 find /usr -name php和回車鍵可以找到在哪裏。你想在這裏尋找的主要東西是/bin/php在 結束的路徑。就我而言,現在我已經安裝了它,它是/usr/local/php5-20120508-102213/bin/php。如果你沒有看到類似的東西,那就去下一步。如果你看到類似的東西,然後作出注意到/bin/php在年底這條道路,並轉到步驟4

  2. 轉到終端和類型curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4, 回車。它會詢問您的密碼。你安裝一個php包。輸入密碼後,請按照其他下載的步驟進行操作。有關該下載的更多信息,您可以訪問the binary package website.

  3. 安裝php之後,打開終端並輸入find /usr -name php並按回車。你應該看到幾行路徑。記下在路徑末尾有/bin/php的那個。你將需要這條路來進行下一步。

  4. 接下來,打開一個文本編輯器,爲此我使用了TextWrangler,然後在菜單欄上選擇文件,然後選擇按名稱打開文件。然後輸入~/.bash_profile。選擇打開,並在.bash_profile文件類型的

    PATH=$PATH:/usr/local/php5-20120508-102213/bin/ 
    export PATH 
    

    的是,/usr/local/php5-20120508-102213/bin/部分到底是什麼人我提到記的路徑,減去在最後的PHP。如果你的路徑不同,請替換它。只要記得在最後離開php。 保存並退出。

  5. 最後一步,打開終端並輸入php -v。點擊進入。你應該看到類似的東西:

    PHP 5.4.2 (cli) (built: May 8 2012 09:48:57) 
    Copyright (c) 1997-2012 The PHP Group 
    Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies 
    with Xdebug v2.2.0rc2, Copyright (c) 2002-2012, by Derick Rethans 
    

    如果你看到那麼一切正常。

注:這裏是與Command line PHP工作的一個很好的資源 - 位於的方式在頁面中向下約1/3。

+0

在步驟4:我得到了 '未找到文件(MacOS錯誤代碼:-43)' –

+0

如果'.bash_profile'不存在,您可以將它添加到'.bashrc'中,儘管它每次啓動一個新的shell都會被不必要地重新執行。或者,你可以創建'.bash_profile',但是你會希望確保(在大多數情況下) source .bashrc'然後 – tripleee

+0

應該不需要'export PATH',因爲系統已經爲你做了。 – tripleee

5

這裏有兩件事情之一,要麼你沒有安裝PHP,要麼安裝PHP,目前沒有任何系統感知路徑。首先,我會嘗試找到PHP,並確保它存在:

$ find/-name php -type f 

你應該看到:

/path/to/your/php/bin/php 

如果PHP程序確實存在,請檢查您的路徑:

$ echo $PATH 

如果它不存在,請重新編譯php。

如果您的系統上存在PHP,請確保包含/ bin/php文件的路徑。您可以編輯您的~/.bash_profile並添加類似這樣的自定義路徑:

PATH=$PATH:/path/to/your/php/bin/ 
.... 
export PATH 

然後保存並重新加載該文件,以確保您的當前會話訪問新路徑的變化:

$ source ~/.bash_profile 

運氣好的話,你可以現在執行php -v並查看版本響應。

- 更新 -

設置實際路徑:

$ vi ~/.bash_profile 

... 
# Add your custom php path 
PATH=$PATH:/bitnami/mampstack-osx-x86/output/php/bin/ 
.... 
export PATH 

保存並關閉,然後它來源:

$ source ~/.bash_profile 

現在你應該可以運行PHP來自cli:

$ php -v 
+0

我在想這應該是我的路徑。正如我告訴drew010我在終端中輸入echo $ PATH,並得到了這個奇怪的尋找路徑:/ usr/bin:/ bin:/ usr/sbin:/ sbin:/ usr/local/bin:/ usr/X11 /斌:在/ usr /本地/ git的/ bin中。幾天前,我正在關注如何安裝pear和phpunit的教程。該教程讓我添加一個新的路徑到我的.bash_profile,從那時起,想起它,我遇到了問題。我已經刪除了之前添加到.bash_profile的路徑。是否認爲這是原因? – MikeTheCoder

+1

完全可能。你發佈的這條路並不平凡,你是否試圖用我在答案中描述的'find'方法找到'php'二進制文件?嘗試找到它併發布你的發現。 –

+0

是的,我忘了提到這一點。前四件事情是最終被拒絕的隨機文件。然後,它展示了一個php的路徑,它包含了bitnami MAMP堆棧,wordpress堆棧以及用於zend框架的php。之後,沒有什麼真正的PHP相關。只是一堆xcode和mailserver的東西。 – MikeTheCoder

0

針對@MikeTheCoder,張貼的出口路徑語法並沒有爲我工作,但稍微修改一個下面做:

export PATH=/usr/local/php5-5.6.27-20161101-100213/bin/:$PATH 

我使用埃爾卡皮坦10.11.6缺省到更早的PHP版本。

0

閉上你的SSH隧道和PHP正在恢復再次重新啓動,並檢查$ php --version