Mac OSX系統下,php是開發Web應用經常使用的重要工具之一,合理設置php目錄對于提高開發效率和代碼可復用性都有極大的幫助。本文將詳細探討Mac OSX下php目錄的相關知識。
首先,我們需要理解一個概念:$PATH環境變量。簡單來說,$PATH是系統可以找到執行文件的路徑列表。當我們在終端輸入一個命令時,系統就會在$PATH包含的每個路徑下查找這個命令。如果找到了,就會執行該命令。如果沒找到,就會提示“command not found”錯誤。
在Mac OSX下搭建php開發環境,通常情況下我們會選擇安裝MAMP或者XAMPP這類預制的集成環境。這些環境通常會將php二進制文件和相關的命令(如php、phpize、pecl等)放在自己的安裝目錄下,并將這個目錄添加到了$PATH環境變量中。因此,當我們在終端輸入“php -v”時,就會執行預裝的php。
$ which php /Applications/MAMP/bin/php/php7.4.12/bin/php $ echo $PATH /Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php7.4.12/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
然而,隨著我們在開發中使用的工具越來越多,我們可能需要安裝不同版本的php或者其他擴展程序。這時候,為了不讓這些程序互相干擾,并且能夠方便快捷地進行版本切換,我們可能需要為每個程序都設置一個獨立的目錄。
例如,我們可能需要安裝php5.6.35和php7.1.18這兩個版本。我們可以在/usr/local目錄下分別創建php5.6.35和php7.1.18目錄,并在每個目錄下安裝對應版本的php。此外,我們還需要將每個目錄下的php相關命令添加到$PATH中,并為每個程序設置一個獨立的配置文件目錄,這樣就可以方便地對每個版本進行配置和管理。
$ ls /usr/local/ bin etc include lib sbin share var $ ls /usr/local/php5.6.35/ bin etc include lib sbin share var $ ls /usr/local/php7.1.18/ bin etc include lib sbin share var
最后,值得一提的是,當我們需要在終端使用php的時候,可能會遇到-terminal或-terminal-app這兩種情況。這是因為在Mac OSX下,終端程序可以采用不同的shell。在默認情況下,終端程序使用的是-bash shell,而-bash shell并沒有設置全局環境變量,無法直接執行php命令。因此,我們需要額外設置環境變量,或者使用通過-brew或-port安裝的php。(此處不再詳細討論)。
總結而言,為了方便程序和版本管理,我們可以在Mac OSX下采用設置獨立的php目錄的方式,從而讓系統可以自由切換程序版本。通過上述示例可以看出,理解$PATH環境變量以及通過設置環境變量來控制終端程序可以找到的執行文件位置對于php目錄的設置有著重要的幫助。希望本文能夠幫助到大家。