搜尋
首頁科技週邊IT業界與Docker建立現代的PHP開發環境

>本教程通過使用當前的最佳實踐Docker設置PHP開發環境,從而指導您。 我們將介紹PHP開發環境的演變,強調Docker比舊方法的優勢。 如果要跳過歷史記錄,請跳到配置步驟。

>

Setting Up a Modern PHP Development Environment with Docker

PHP開發環境的簡短歷史

> Web開發的快速步伐需要現代方法。 過時的教程比比皆是。 讓我們回顧一下演變:

手動安裝:
    過去常見的手動安裝Apache,PHP和MySQL的艱鉅過程很常見。這需要大量的專業知識,並且很耗時。
  1. >

    >預先配置的軟件包(XAMPP,WAMP):這些軟件包簡化了設置,但是開發環境和生產環境(不同版本的軟件,OS差異)之間的不一致會帶來挑戰。 許多開發人員仍在使用這些,但是是時候升級了。
  2. >
  3. >虛擬機(vagrant):

  4. docker: docker提供了沒有開銷的虛擬機的好處。它將應用程序及其所有依賴項包裝到容器中,以確保環境的一致性。

  5. docker優於vagrant的優勢:

    > Docker避免了流浪者的資源消耗和同步問題。它允許多個具有不同配置(Apache,nginx,各種PHP版本)的網站同時運行,每個網站都在其自己的容器中隔離。 移動網站就像複製單個文件夾一樣簡單。

設置docker環境

>

>先決條件:

>下載並安裝Docker。 在Linux上,通過發行版的軟件包管理器安裝。 您可能需要將用戶添加到

>組中,然後啟動/啟用Docker服務。 Windows和MacOS安裝程序會自動處理此操作。在繼續之前,請停止任何現有的Web服務器(Apache,nginx等)或MySQL實例。

> >配置(docker-compose.yml):

創建一個項目文件夾和adocker文件:docker-compose> docker

> nginx配置(nginx.conf):> 創建

docker-compose.yml

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/nginx.conf
      - ./app:/app
  php:
    build:
      context: .
      dockerfile: PHP.Dockerfile
    volumes:
      - ./app:/app
  mysql:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: 'secret'
      MYSQL_USER: 'tutorial'
      MYSQL_PASSWORD: 'secret'
      MYSQL_DATABASE: 'tutorial'
    volumes:
      - mysqldata:/var/lib/mysql
    ports:
      - 3306:3306
volumes:
  mysqldata: {}
> php dockerfile(php.dockerfile):

創建

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/nginx.conf
      - ./app:/app
  php:
    build:
      context: .
      dockerfile: PHP.Dockerfile
    volumes:
      - ./app:/app
  mysql:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: 'secret'
      MYSQL_USER: 'tutorial'
      MYSQL_PASSWORD: 'secret'
      MYSQL_DATABASE: 'tutorial'
    volumes:
      - mysqldata:/var/lib/mysql
    ports:
      - 3306:3306
volumes:
  mysqldata: {}

運行服務:

>在您的項目目錄中打開一個終端並運行docker-compose up。 這將啟動NGINX,PHP和Mariadb。訪問您的網站http://127.0.0.1。 一個“你好,世界!” app/public/index.html>確認設置的測試頁面。 用phpinfo()>中的app/public/index.php腳本驗證PHP功能。 使用MySQL Workbench等客戶端連接到MySQL。

>

Setting Up a Modern PHP Development Environment with Docker Setting Up a Modern PHP Development Environment with Docker

>部署:>只需上傳您的項目文件(包括docker-compose.yml>,nginx.confPHP.Dockerfile),然後運行docker-compose up -d以進行無縫部署。

>

常見問題解答:(提供的FAQ已經結構良好,可以直接包括在內。)

>

此修訂後的輸出維護原始圖像位置和格式,同時重新繪製文本以提高清晰度和流動,避免竊。

以上是與Docker建立現代的PHP開發環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
為什麼您的自動化需要AI決策(以及Wordware如何提供)為什麼您的自動化需要AI決策(以及Wordware如何提供)May 15, 2025 am 10:47 AM

我們都體驗過傳統自動化平台如Zapier和IFTTT的神奇之處。它們擅長連接應用程序並自動化簡單的“如果這樣,則那樣”序列:新表單提交創建電子表格行,傳入郵件觸發Slack警報。簡單、有效,且對於基本任務來說是巨大的時間節省者。但是,你的實際工作流程有多麼簡單?一旦你的工作流程需要理解細微的上下文、優雅地處理錯誤或處理非結構化數據,這些工具往往會遇到障礙。它們的簡單性使其易於使用,但也成為一種限制。當簡單規則不夠用時:考慮一下客戶支持。票務系統湧入非結構化數據——聊天片段、屏幕截圖、複雜的用戶描

定制電信軟件的好處定制電信軟件的好處May 11, 2025 am 08:28 AM

定制电信软件开发无疑是一项相当大的投资。然而,从长远来看,您可能会意识到,这样的项目可能更具成本效益,因为它可以像市场上任何现成的解决方案一样提高您的生产力。了解构建定制电信系统的最重要优势。 获取您所需的确切功能 您可以购买的现成电信软件有两个潜在问题。有些缺乏可能显著改善您工作效率的有用功能。有时您可以通过一些外部集成来增强它们,但这并不总是足以使它们变得出色。 其他软件功能过多,使用起来过于复杂。您可能不会使用其中的一些(永远不会!)。大量的功能通常还会增加价格。 基于您的需求

CNCF觸發了ARM64和X86的平台平等突破CNCF觸發了ARM64和X86的平台平等突破May 11, 2025 am 08:27 AM

Arm64 架構開源軟件的 CI/CD 難題與解決方案 在 Arm64 架構上部署開源軟件需要一個強大的 CI/CD 環境。然而,Arm64 和傳統 x86 處理器架構的支持水平之間存在差異,Arm64 通常處於劣勢。面向多種架構的基礎設施組件開發人員對工作環境有一定的期望: 一致性:跨平台使用的工具和方法保持一致,避免因採用不太流行的平台而需要改變開發流程。 性能:平台和支持機制具有良好的性能,確保在支持多個平台時部署方案不會因速度不足而受影響。 測試覆蓋率:對所有平台同時進行效率、合規性和

21個開發人員新聞通訊將在2025年訂閱21個開發人員新聞通訊將在2025年訂閱Apr 24, 2025 am 08:28 AM

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

使用AWS ECS和LAMBDA的無服務器圖像處理管道使用AWS ECS和LAMBDA的無服務器圖像處理管道Apr 18, 2025 am 08:28 AM

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用