開源技術教學文件網 建置開發環境

最後修改日期為 OCT 25, 2021

前言

本文介紹建置 PHP 開發環境的過程。實務上 PHP 網頁程式會托管在 GNU/Linux 上,故這裡的說明會以 GNU/Linux 為主。但會簡單介紹在 Windows 上的使用方式,讓還沒學習 GNU/Linux 的讀者也可以學習 PHP。

先不要裝 Apache 和 MySQL 也可以

典型的 PHP 教學會在一開始就安裝 PHP + Apache (網頁伺服器) + MySQL (關連式資料庫) 的全家餐。Windows 上甚至還有數個一鍵安裝的軟體,像是 XAMPPMAMPLaragon。但是,這不是必要的,一開始只裝 PHP 即可。

原本安裝 Apache 或 Nginx 的目的是輸出 PHP 腳本所生成的動態網頁。由於目前的 PHP 有內建開發用網頁伺服器,安裝 Apache 或 Nginx 不是必要的。MySQL 則是用來存資料的,一開始不會用到,所以先不裝無妨。由於使用 Apache、Nginx、MySQL 等軟體都要學習設置檔的配置方式。對初學者來說,這是額外的負擔。

在 GNU/Linux 上安裝 PHP

CentOS

在 CentOS 上輸入以下指令即可安裝 PHP:

$ sudo dnf install php php-devel

php-devel 是標頭檔的部分,是為了安裝 PHP 延伸套件 (extension package) 而安裝的。如果用不到可先略去。

Ubuntu

在 Ubuntu 上輸入以下指令即可安裝 PHP:

$ sudo apt install php php-dev

同理,php-dev 是標頭檔的部分。

openSUSE

在 openSUSE 上輸入以下指令即可安裝 PHP:

$ sudo zypper install php7 php7-devel

同理,php7-devel 是標頭檔的部分。

在 Windows 上安裝 PHP

到 PHP 的官方網站下載 PHP 的主程式即可。在 Windows 上的程式會分為 non thread safe 和 thread-safe 的版本,這主要和網頁程式的形態相關 (出處)。對於基本的學習來說沒差。

也可以使用 Chocolatey 來安裝 PHP。只要輸入一行指令即可:

> choco install php

在筆者撰寫這篇文章時,PHP 的大版本號已經來到 PHP 8 了。所以這行指令會安裝 PHP 8。

筆者先前提過,目前許多 GNU/Linux 發行版的 PHP 的大版本號仍停留在 PHP 7。所以,也可以刻意安裝先前的版本:

> choco install php --version=7.4.22

(選擇性) 安裝 Laragon

一鍵安裝 PHP 套餐的軟體有很多,這裡以 Laragon 為例,說明安裝和使用這類軟體的方式。

選擇安裝時所用的語言:

指定安裝 Laragon 時所用的語言

Laragon 可以選擇正體中文。這裡使用英文 (English)。

選擇安裝位置:

指定安裝 Laragon 的位置

沒有明確理由的話,使用預設位置即可。即使要換安裝位置,也不應該在安裝路徑上使用空白 (space),以免造成不必要的麻煩。

選擇額外的功能:

指定安裝 Laragon 時要附加的額外功能

這些功能是不必要的,故將其取消。

準備安裝 Laragon:

準備安裝 Laragon

這裡只是確認一下配置是否正確,繼續下一步即可。

安裝完成時出現的訊息:

完成安裝 Laragon

安裝完後,開啟 Laragon 主程式,到 Preferences (偏好設置) 裡選擇要啟動的服務:

在 Laragon 中選擇服務及其 Port

筆者比較習慣用 Nginx,所以把 Apache 停掉。如果暫時不需要 MySQL 的話,也可以先停用。

第一次啟動服務時,Windows Defender (防火牆) 會發出以下的警告訊息:

Windows Defender 偵測到 Laragon 中的 Nginx

直接允許即可。我們不會長時間開著這些服務,用完後即會停止這些服務。或許有些程式設計師會拿這些一鍵安裝軟體直接架站。不過,為了安全考量,實際要上線的網頁程式還是托管在 GNU/Linux 上比較好,這些一鍵安裝軟體只是拿來練習 PHP 的。

筆者先前嘗試過 MAMP。但使用 MAMP 時,有些網頁上的圖片無法正常顯示,故筆者改用 Laragon。

(選擇性) 設置 Nginx

Nginx 的設置比較複雜。設錯的話,可能會無法觀看該伺服器上的網頁;若發生嚴重錯誤,Nginx 伺服器會無法啟動和運作。

筆者在這裡列出一個 Nginx 設定檔的範例。使用 Laragon 的話,該設定檔會寫在 C:/laragon/etc/nginx/site-enabled/00-default.conf 。Laragon 的 Nginx 設定檔是參考 Ubuntu 的配置來設定的。

請讀者細細參考本範例設定檔來設置 Nginx 伺服器。確認每一行所代表的意義,想一下是否適用於自己的情境。不要胡亂地貼上他人所給的 Nginx 範例設置,那不一定適用於自己的情境。

# A sample Nginx configuration for Laragon.
#
# Don't simply copy and paste the configuration here. Instead,
#  modify it according to your own situations.


server {
    # Port of your server.
    listen 80 default_server;

    # Domain name of your server.
    server_name localhost ;

    root "C:/laragon/www/";

    # Set index page.
    index index.html index.htm index.php;
 
    # Restrict access to local network only.
    allow       127.0.0.1;
    deny        all;
 
    include "C:/laragon/etc/nginx/alias/*.conf";

    # Route to root path of a web server.
    location / {
        try_files $uri $uri/ =404;
		autoindex on;
    }

    # Pass PHP scripts to a FastCGI server.
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass php_upstream;		
        #fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    charset utf-8;
	
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    # Disallow access to Apache configuration files.
    location ~ /\.ht {
        deny all;
    }
}

按照此設置,在開啟 Nginx 伺服器後,到 http://localhost 即可看到網頁。日後自己寫的 PHP 命令稿,放到 C:/laragon/www 即可。

(選擇性) 安裝 C 開發環境

如果要編譯 PHP 延伸套件的話,需要 C 編譯器。這裡介紹在 GNU/Linux 上建置 C 開發環境的過程。一開始學習 PHP 語法的階段,可先略去這個動作。

在 Windows 上編譯 PHP 延伸套件的實用性甚低,因為 Windows 不是托管 PHP 網頁程式的主要平台,故不需過度鑽研這方面的議題。

確認 PHP 可用

使用 php --version 指令即可觀看系統上的 PHP 版本:

$ php --version
PHP 7.2.24-0ubuntu0.18.04.7 (cli) (built: Oct  7 2020 15:24:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.24-0ubuntu0.18.04.7, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

如果有顯示某個版本號,代表可以使用 PHP。如果沒有看到版本號,可能是系統上沒安裝 PHP 或是沒有正確地設置 PATH 環境變數。請自行確認並排除問題。

選擇順手的編輯器

雖然市面上也有一些給 PHP 用的 IDE,剛開始學 PHP 時,先用 VSCode 即可。等學久一點,自然會知道自己需要什麼樣的編輯器。

分享本文
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Yahoo
追蹤本站
Facebook Facebook Twitter