」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在本機上安裝 PHP 和 Composer,無需 XAMPP 或 MAMP

在本機上安裝 PHP 和 Composer,無需 XAMPP 或 MAMP

發佈於2024-11-03
瀏覽:794

Install PHP and composer in local machine without XAMPP or MAMP

在電腦上安裝 PHP 和 Composer 的綜合指南

PHP 是最受歡迎的伺服器端腳本語言之一,廣泛用於 Web 開發。另一方面,Composer 是 PHP 的依賴關係管理器,可以簡化專案中的函式庫和套件的管理。在本指南中,我們將逐步介紹在您的電腦上本地安裝 PHP 和 Composer 的步驟,重點介紹這種方法相對於使用 XAMPP 或 MAMP 等捆綁解決方案的優勢。

先決條件

在我們開始之前,請確保您的系統符合以下要求:

  • 有效的網路連線。
  • 您電腦上的管理權限。

第 1 步:安裝 PHP

原生安裝 PHP 可以提供更好的效能,並且是更專業的方法,特別是對於生產環境。以下是跨不同作業系統執行此操作的方法:

在 Windows 上

  1. 下載 PHP:

    • 造訪 PHP 下載頁面並下載最新版本的 PHP。為您的系統選擇適當的版本(線程安全)。
  2. 提取PHP:

    • 將下載的 ZIP 檔案解壓縮到您選擇的目錄,例如 C:\php。
  3. 配置環境變數:

    • 開啟系統屬性(右鍵點選「此電腦」>「屬性」>「進階系統設定」)。
    • 點選「環境變數」。
    • 在「系統變數」下,找到「Path」變數並點選「編輯」。
    • 新增 PHP 目錄的路徑(例如 C:\php)。
  4. 驗證安裝:

    • 開啟命令提示字元並輸入 php -v。您應該會看到顯示的 PHP 版本。

在 macOS 上

  1. 安裝Homebrew(如果未安裝):

    • 打開終端機並執行以下命令:
     /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安裝PHP:

    • 在終端機中執行以下命令:
     brew install php
    
  3. 驗證安裝:

    • 安裝後,檢查 PHP 版本:
     php -v
    

在 Linux 上

  1. 更新包索引:

    • 打開終端並運行:
     sudo apt update
    
  2. 安裝PHP:

    • 對於 Ubuntu,運行:
     sudo apt install php
    
  • 對於 CentOS,運行:

     sudo yum install php
    
  1. 驗證安裝:

    • 檢查PHP版本:
     php -v
    

為什麼要原生安裝?

雖然 XAMPP 和 MAMP 等工具提供了設定開發環境的便捷方法,但它們可能會帶來不必要的開銷和複雜性。本機安裝通常更有效率,可實​​現更好的資源管理、效能調整以及對 PHP 環境更精細的了解。

第 2 步:安裝 Composer

Composer 可以全域安裝,讓您管理所有 PHP 專案的依賴關係。

在 Windows 上

  1. 下載 Composer 安裝程式:

    • 造訪 Composer 下載頁面並下載 Composer-Setup.exe 檔案。
  2. 運行安裝程式:

    • 執行下載的檔案並按照說明進行操作。它會自動偵測您的 PHP 安裝。
  3. 驗證安裝:

    • 開啟命令提示字元並鍵入:
     composer -V
    

在 macOS 和 Linux 上

  1. 下載作曲家:

    • 打開終端機並執行以下命令:
     curl -sS https://getcomposer.org/installer | php
    
  2. 將 Composer 移至全域目錄:

    • 下載後,將 Composer 移至 PATH 中的目錄:
     sudo mv composer.phar /usr/local/bin/composer
    
  3. 驗證安裝:

    • 檢查Composer版本:
     composer -V
    

結論

您已經在您的機器上成功安裝了 PHP 和 Composer!選擇本機安裝,您可以確保更好的性能和更專業的設定。 Composer 將允許您輕鬆管理庫和依賴項,使您的專案保持井井有條並保持最新狀態。

請隨意探索官方文件以獲取更高級的用法和最佳實踐:

  • PHP 文件
  • 作曲家文件

編碼愉快!


請隨意評論文章的任何部分!

版本聲明 本文轉載於:https://dev.to/mustafa-sabah/install-php-and-composer-in-local-machine-without-xampp-or-mamp-1170?1如有侵犯,請聯絡study_golang@163 .com刪除
最新教學 更多>
  • PHP 建構函式屬性推廣初學者指南
    PHP 建構函式屬性推廣初學者指南
    PHP 8 引進了一個名為 建構子屬性提升 的奇妙功能。如果您是 PHP 或一般程式設計新手,這可能聽起來有點複雜。但別擔心!本部落格將透過大量編碼範例向您介紹它是什麼、為什麼有用以及如何使用它。開始吧! 什麼是建築商財產促銷? 在 PHP 8 之前,建立具有屬性的類別並在建構函式...
    程式設計 發佈於2024-11-08
  • 如何在Ajax資料載入過程中顯示進度條?
    如何在Ajax資料載入過程中顯示進度條?
    如何在Ajax 資料載入期間顯示進度條處理使用者觸發的事件(例如從下拉方塊中選擇值)時,通常會使用非同步擷取資料阿賈克斯。在獲取數據時,向用戶提供正在發生某事的視覺指示是有益的。本文探討了一種在 Ajax 請求期間顯示進度條的方法。 使用 Ajax 實作進度條要建立一個準確追蹤 Ajax 呼叫進度的...
    程式設計 發佈於2024-11-08
  • 如何使用 CNTLM 存取工作場所代理程式後面的 pip?
    如何使用 CNTLM 存取工作場所代理程式後面的 pip?
    與CNTLM 的PIP 代理連接要使用CNTLM 訪問工作場所代理後面的pip,用戶可能會遇到--proxy 選項的問題。然而,利用環境變數提供了可靠的解決方案。 CNTLM 設定驗證可以透過執行「cntlm.exe -c cntlm.ini -I -M http://google.com」來實現。...
    程式設計 發佈於2024-11-08
  • 如何使用 MySQL 資料庫中的時間序列資料填入 JFreechart TimeSeriesCollection?
    如何使用 MySQL 資料庫中的時間序列資料填入 JFreechart TimeSeriesCollection?
    從 MySQL DB 填入 JFreechart TimeSeriesCollection此問題旨在使用 JFreechart TimeSeriesCollection 顯示一個月中幾天的溫度變化。然而,最初的實作面臨著從資料庫中準確讀取資料的挑戰。 時序資料的精確讀取要解決資料讀取問題,需要考慮之...
    程式設計 發佈於2024-11-08
  • ValueError:無法將 NumPy 陣列轉換為張量 - 已解決?
    ValueError:無法將 NumPy 陣列轉換為張量 - 已解決?
    ValueError: Failed to Convert NumPy Array to Tensor問題描述嘗試使用TensorFlow 訓練具有LSTM 層的神經網路時,出現下列情況發生錯誤:ValueError: Failed to convert a NumPy array to a Ten...
    程式設計 發佈於2024-11-08
  • 為什麼Java重載不能基於回傳類型?
    為什麼Java重載不能基於回傳類型?
    Java 中的回傳型別重載:不相容儘管Java 具有多方面的功能,但該語言在重載函數時還是存在限制僅透過變更返回類型。這就提出了一個常見的問題:為什麼 Java 會禁止這樣的重載? 答案在於重載的基本性質。重載允許多個具有相同名稱的函數共存於一個類別中,並透過它們的參數簽名進行區分。然而,當返回類型...
    程式設計 發佈於2024-11-08
  • 強密碼產生器
    強密碼產生器
    看看我做的這支筆!
    程式設計 發佈於2024-11-08
  • Angular 和 15 的改進
    Angular 和 15 的改進
    1) 在沒有建構子的情況下在 Angular 14 中使用注入註入服務。 以前,注入任何服務總是需要具有建構函數的類別: class MyClass { constructor(private myService: MyService) {} } 現在,我們可以在函數和類別中註入服務。我們只需...
    程式設計 發佈於2024-11-08
  • 物件導向程式設計:掌握 DSA 的第一步
    物件導向程式設計:掌握 DSA 的第一步
    Imagine you're walking through a bustling factory. You see different machines, each designed for a specific purpose, working together to create a fina...
    程式設計 發佈於2024-11-08
  • 如何修復 Android 中的“java.lang.String 類型的值無法轉換為 JSONObject”錯誤?
    如何修復 Android 中的“java.lang.String 類型的值無法轉換為 JSONObject”錯誤?
    排除「java.lang.String 類型的值\u003cbr\u003e 無法轉換為JSONObject」錯誤在您的Android 應用程式中,您遇到與JSON 解析相關的錯誤。具體來說,您會看到以下例外:org.json.JSONException: Value <br of type...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中強制硬刷新並防止快取問題?
    如何在 JavaScript 中強制硬刷新並防止快取問題?
    解決JavaScript 快取問題:使用JavaScript 清除快取部署新的JavaScript 程式碼時,看不到反映的最新更新是令人沮喪的。此問題通常是由於快取的瀏覽器回應而引起的。為了消除這個問題,我們可以利用 JavaScript 函數 window.location.reload(true...
    程式設計 發佈於2024-11-08
  • 如何在 Python 中使用 Inflect 將整數轉換為單字?
    如何在 Python 中使用 Inflect 將整數轉換為單字?
    在Python 中將整數轉換為單字在Python 中將數值轉換為對應的單字表示形式可能是一項令人費解的任務。本文探討了使用 inflect 套件的簡單解決方案。 困境:困境:該示例嘗試將歌曲“99 Bottles of Beer”打印在Wall”,用文字替換數值。然而,代碼目前顯示的是數字而不是它們...
    程式設計 發佈於2024-11-08
  • 關閉回應正文真的可以在 Go HTTP 用戶端中實現連線重用嗎?
    關閉回應正文真的可以在 Go HTTP 用戶端中實現連線重用嗎?
    Go HTTP 用戶端連線重複使用:常見誤解Go HTTP 用戶端預設設計為重複使用連接,提供高效率的網路使用率。然而,某些場景可能會導致對連接重用的誤解。 原始查詢:無限連接創建在給定的程式碼中,最初看起來無限數量的連接正在被創建。不過,這個問題可以透過在收到回應後關閉請求正文來解決。這使得傳輸能...
    程式設計 發佈於2024-11-08
  • 如何動態重定向Python函數中的標準輸出與錯誤流?
    如何動態重定向Python函數中的標準輸出與錯誤流?
    Python 中的上下文流重定向標準輸出和錯誤流(stdout 和stderr)的重定向在許多場景中證明是重定向在許多場景中證明是有用的。然而,當函數持有對這些流的內部引用時,傳統方法通常會出現不足。 需要動態解決方案傳統的重新導向技術,如 sys.stdout,永久重新導向流。當方法本質上在內部複...
    程式設計 發佈於2024-11-08
  • 如何在 Java 中有效地計算檔案或資料夾的大小?
    如何在 Java 中有效地計算檔案或資料夾的大小?
    在Java 中取得檔案或資料夾的大小檢索檔案或資料夾的大小是處理檔案時的常見任務在爪哇。以下是如何有效地做到這一點:取得檔案大小要取得檔案的大小,您可以使用java.io 上的length() 方法.文件對象。這將傳回檔案的長度(以位元組為單位),如果檔案不存在,則傳回 0。 java.io.Fil...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3