日榜 #12026-10-23
php/php-src
The PHP Interpreter
這是什麼
php/php-src 是 PHP 直譯器的原始碼專案,不是網站框架,也不是裝好就能使用的網站成品。PHP 是特別適合網頁開發的通用腳本語言;這個以 C 語言為主的儲存庫,讓人從「用 PHP 寫程式」往下走到「建置、測試與修改 PHP 本身」。README 的主軸不是展示應用效果,而是交代如何把語言執行環境建起來,以及如何參與維護。
為什麼上榜
本次日榜資料記錄累積 41,139 顆星、當期新增 287 顆星,但素材沒有提供特定版本發布或事件,不能據此斷言爆紅原因。值得關注的是:相較於替應用增加功能的套件,這裡呈現的是底層語言專案的工程流程,從編譯相依套件、除錯建置到測試與提案規則都有入口。對想理解開源語言如何維護的讀者,這比單看功能清單更有參考價值;星數代表關注,並不等於效能或品質的量測。
適合誰,可以拿來做什麼
最適合的是想研究執行環境、重現問題或提交修補的 PHP 開發者與原始碼貢獻者。可以先完成除錯建置,再針對特定測試目錄驗證修改,不必一開始就理解整個專案。若只是要執行網站,README 另有預編譯套件與二進位檔入口,通常不必從編譯直譯器開始。兩條路的差別在目的:使用語言與修改語言,需要的準備並不相同。
上手
以下假設已取得原始碼,並位於專案目錄。Ubuntu 的相依套件與開發用除錯建置流程如下;這些是操作導讀,並非已在此環境執行:
sudo apt install -y pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev
./buildconf
./configure --enable-debug
make -j4
make test
README 建議編譯工作數配合可用核心數,-j4 並非固定最佳值。測試成功後可用 make install 安裝,是否需要管理員權限取決於權限與安裝前綴。Windows 使用者應走 README 連結的專用建置指南,不能直接照搬上述指令。
README 重點摘要
- 測試可縮小範圍:
make TESTS=tests/lang/ test只跑指定目錄,適合聚焦驗證;也能另行設定測試並行工作數。 - 擴充套件另有入口:內建擴充之外,可查 PIE Extensions 清單並使用 PIE 安裝;README 將 PECL 標示為已棄用。
- 新功能與修錯規則不同:新功能需要 RFC 並獲開發者接受,錯誤修復則不需要 RFC;提交時應依規則引用問題編號。
- 文件不只語法手冊:另有貢獻指南、程式碼規範、內部文件及發布流程,適合依參與深度逐步閱讀。