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

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

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

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刪除
最新教學 更多>
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-05-08
  • 如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    如何將MySQL數據庫添加到Visual Studio 2012中的數據源對話框中?
    在Visual Studio 2012 儘管已安裝了MySQL Connector v.6.5.4,但無法將MySQL數據庫添加到實體框架的“ DataSource對話框”中。為了解決這一問題,至關重要的是要了解MySQL連接器v.6.5.5及以後的6.6.x版本將提供MySQL的官方Visual...
    程式設計 發佈於2025-05-08
  • CSS強類型語言解析
    CSS強類型語言解析
    您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串: result = 1 "1";包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理...
    程式設計 發佈於2025-05-08
  • 為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    在CSS 問題:不正確的代碼: 全球範圍將所有餘量重置為零,如提供的代碼所建議的,可能會導致意外的副作用。解決特定的保證金問題是更建議的。 例如,在提供的示例中,將以下代碼添加到CSS中,將解決餘量問題: body H1 { 保證金頂:-40px; } 此方法更精確,避免了由全局保證金重置...
    程式設計 發佈於2025-05-08
  • PHP陣列鍵值異常:了解07和08的好奇情況
    PHP陣列鍵值異常:了解07和08的好奇情況
    PHP數組鍵值問題,使用07&08 在給定數月的數組中,鍵值07和08呈現令人困惑的行為時,就會出現一個不尋常的問題。運行print_r($月)返回意外結果:鍵“ 07”丟失,而鍵“ 08”分配給了9月的值。 此問題源於PHP對領先零的解釋。當一個數字帶有0(例如07或08)的前綴時,PHP將...
    程式設計 發佈於2025-05-08
  • 如何在其容器中為DIV創建平滑的左右CSS動畫?
    如何在其容器中為DIV創建平滑的左右CSS動畫?
    通用CSS動畫,用於左右運動 ,我們將探索創建一個通用的CSS動畫,以向左和右移動DIV,從而到達其容器的邊緣。該動畫可以應用於具有絕對定位的任何div,無論其未知長度如何。 問題:使用左直接導致瞬時消失 更加流暢的解決方案:混合轉換和左 [並實現平穩的,線性的運動,我們介紹了線性的轉換。...
    程式設計 發佈於2025-05-08
  • \“(1)vs.(;;):編譯器優化是否消除了性能差異?\”
    \“(1)vs.(;;):編譯器優化是否消除了性能差異?\”
    答案: 在大多數現代編譯器中,while(1)和(1)和(;;)之間沒有性能差異。編譯器: perl: 1 輸入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    程式設計 發佈於2025-05-08
  • 如何在Java字符串中有效替換多個子字符串?
    如何在Java字符串中有效替換多個子字符串?
    在java 中有效地替換多個substring,需要在需要替換一個字符串中的多個substring的情況下,很容易求助於重複應用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    程式設計 發佈於2025-05-08
  • `console.log`顯示修改後對象值異常的原因
    `console.log`顯示修改後對象值異常的原因
    foo = [{id:1},{id:2},{id:3},{id:4},{id:id:5},],]; console.log('foo1',foo,foo.length); foo.splice(2,1); console.log('foo2', foo, foo....
    程式設計 發佈於2025-05-08
  • 使用jQuery如何有效修改":after"偽元素的CSS屬性?
    使用jQuery如何有效修改":after"偽元素的CSS屬性?
    在jquery中了解偽元素的限制:訪問“ selector 嘗試修改“:”選擇器的CSS屬性時,您可能會遇到困難。 This is because pseudo-elements are not part of the DOM (Document Object Model) and are th...
    程式設計 發佈於2025-05-08
  • 您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    您可以使用CSS在Chrome和Firefox中染色控制台輸出嗎?
    在javascript console 中顯示顏色是可以使用chrome的控制台顯示彩色文本,例如紅色的redors,for for for for錯誤消息? 回答是的,可以使用CSS將顏色添加到Chrome和Firefox中的控制台顯示的消息(版本31或更高版本)中。要實現這一目標,請使用以下...
    程式設計 發佈於2025-05-08
  • 如何使用“ JSON”軟件包解析JSON陣列?
    如何使用“ JSON”軟件包解析JSON陣列?
    parsing JSON與JSON軟件包 QUALDALS:考慮以下go代碼:字符串 } func main(){ datajson:=`[“ 1”,“ 2”,“ 3”]`` arr:= jsontype {} 摘要:= = json.unmarshal([] byte(...
    程式設計 發佈於2025-05-08
  • C++20 Consteval函數中模板參數能否依賴於函數參數?
    C++20 Consteval函數中模板參數能否依賴於函數參數?
    [ consteval函數和模板參數依賴於函數參數在C 17中,模板參數不能依賴一個函數參數,因為編譯器仍然需要對非contexexpr futcoriations contim at contexpr function進行評估。 compile time。 C 20引入恆定函數,必須在編譯時進...
    程式設計 發佈於2025-05-08
  • eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    eval()vs. ast.literal_eval():對於用戶輸入,哪個Python函數更安全?
    稱量()和ast.literal_eval()中的Python Security 在使用用戶輸入時,必須優先確保安全性。強大的Python功能Eval()通常是作為潛在解決方案而出現的,但擔心其潛在風險。 This article delves into the differences betwee...
    程式設計 發佈於2025-05-08
  • C++中如何將獨占指針作為函數或構造函數參數傳遞?
    C++中如何將獨占指針作為函數或構造函數參數傳遞?
    在構造函數和函數中將唯一的指數管理為參數 unique pointers( unique_ptr [2啟示。通過值: base(std :: simelor_ptr n) :next(std :: move(n)){} 此方法將唯一指針的所有權轉移到函數/對象。指針的內容被移至功能中,在操作...
    程式設計 發佈於2025-05-08

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

Copyright© 2022 湘ICP备2022001581号-3