使用 Subversion 重新檢視 WordPress Checkout
Sep 03, 2023 pm 11:29 PM喜歡專注於開源軟體的原因有很多,其中之一就是能夠從其他人建立的程式碼中學(xué)習(xí)。
其他範(fàn)例包括:
- 依照錯(cuò)誤通知單進(jìn)行操作
- 看到新功能已合併到程式碼庫中
- 學(xué)習(xí)如何以程式設(shè)計(jì)方式實(shí)現(xiàn)某些目標(biāo)
- 查看舊功能的棄用
- 獲得預(yù)期的(或可能令人驚訝的)新功能
- 還有更多
儘管有許多開源軟體,但當(dāng)您不熟悉這些工具時(shí),可能很難知道如何跟上這樣的開發(fā)速度。
如果您是一位經(jīng)驗(yàn)豐富的開發(fā)人員,知道如何使用錯(cuò)誤追蹤器、版本控制等,那麼您不是本教學(xué)的目標(biāo)受眾。但是,如果您是 WordPress 的粉絲,並且想要了解如何跟進(jìn)專案的開發(fā),那麼請(qǐng)繼續(xù)閱讀。
在本文中,我們將了解夜間建置的定義,如何準(zhǔn)備我們的系統(tǒng)以每天取得最新版本的 WordPress 原始碼,以及如何自行使用它系統(tǒng)。
什麼是夜間建置?
在我們每天了解如何取得最新版本的原始程式碼之前,了解「夜間建置」的定義非常重要。
這句話並不是 WordPress 獨(dú)有的。事實(shí)上,許多軟體,無論是開源軟體還是閉源軟體,都包含夜間建置。作為公眾,我們是否能夠接觸到它們是另一回事。
甚至維基百科也用最簡(jiǎn)單的術(shù)語對(duì)此進(jìn)行了定義:
每晚發(fā)生一次的事件。
話又說回來,這個(gè)短語本身聽起來並不完全像技術(shù)術(shù)語,不是嗎?沒關(guān)係。
由於我們正在談?wù)?WordPress,而 WordPress 是開源的,因此我們將從這個(gè)角度來看待它。根據(jù) WordPress 專案的 Nightly Builds 頁面:
您可以在網(wǎng)路上或透過我們的 SVN 郵件清單追蹤更改,但許多人選擇運(yùn)行夜間建置來幫助我們識(shí)別錯(cuò)誤。如果您想?yún)⑴c此過程,請(qǐng)加入 WP 測(cè)試人員郵件清單並下載最新的夜間版本。
如果您有興趣參與更多活動(dòng),而不僅僅是獲取原始程式碼並執(zhí)行上述步驟,請(qǐng)?jiān)L問上面的連結(jié)。在本文的其餘部分中,我們將了解需要什麼才能取得原始程式碼的夜間版本。
使用 Subversion 進(jìn)行版本控制
有許多不同的版本控製或原始碼控制服務(wù)和應(yīng)用程式可用。 WordPress 專案使用自架版的 Subversion 來處理專案的版本控制。
如果您不熟悉 Subversion,則可以在該軟體的主頁上了解更多資訊。然而,Subversion 已經(jīng)存在相當(dāng)長(zhǎng)一段時(shí)間了,並廣泛應(yīng)用於許多不同的公司和專案。
Subversion 是一個(gè)開源版本控制系統(tǒng)。 Subversion 專案和軟體由 CollabNet, Inc. 於 2000 年創(chuàng)立,在過去十年中取得了令人難以置信的成功。 Subversion 已經(jīng)並將繼續(xù)在開源領(lǐng)域和企業(yè)界中廣泛採用。
本教學(xué)不會(huì)提供有關(guān)如何使用Subversion 以及您可以使用它執(zhí)行的所有操作的深入指南,但它將為您提供在電腦上安裝Subversion 所需了解的所有資訊並獲取最新版本的WordPress 原始碼。
1。安裝 Subversion
Subversion 可以透過以下兩種方式之一使用:
- 作為命令列工具
- 具有圖形使用者介面
Subversion 使用者介面
由於 Subversion 的使用如此廣泛,因此無論您參與哪個(gè)作業(yè)系統(tǒng)項(xiàng)目,您都可以選擇許多不同的用戶端。
例如:
- TortoiseSVN 適用於 Windows。
- Cornerstone 和版本適用於 OS X。
- 以及適用於 Linux 的 RapidSVN。
當(dāng)然,這些只是您擁有的一小部分選項(xiàng)。無論您使用哪種作業(yè)系統(tǒng),我們都有一個(gè)共同點(diǎn),那就是 Subversion 可以作為命令列工具使用,因此我們將在本教程中使用它。
命令列工具
透過命令列安裝 Subversion 取決於您所使用的作業(yè)系統(tǒng)。如果您使用的是 Linux,則需要一種類型的安裝程式。如果您使用的是 Windows 或 Mac OS X,則每個(gè)系統(tǒng)都需要一個(gè)。
安裝後,我們?cè)诒窘坛唐漯N部分中在終端機(jī)中發(fā)出的命令將是相同的。
首先,導(dǎo)覽至 Subversion 二進(jìn)位套件頁面並找到與您的作業(yè)系統(tǒng)對(duì)應(yīng)的版本。
其次,下載安裝程序,逐步完成提供的步驟,然後回到本教學(xué)。
最後,我們需要確保 Subversion 已正確安裝。為此,請(qǐng)開啟終端機(jī)(或命令提示符,如果您使用的是 Windows)並輸入以下命令:
$ svn --version
您應(yīng)該會(huì)在控制臺(tái)中看到類似這樣的列印內(nèi)容:
這將包含一行訊息,其中包括 Subversion 客戶端的版本。例如:
svn, version 1.7.22 (r1694152) compiled Feb 10 2016, 16:22:46
但是您看到的實(shí)際輸出可能略有不同。最重要的是,如果您能夠執(zhí)行 svn
命令,那麼您應(yīng)該能夠按照本教程中的其餘步驟進(jìn)行操作。
2。準(zhǔn)備本地目錄
在取得最新的 WordPress 副本之前,我們需要確保設(shè)定了一個(gè)目錄,我們將在其中下載最新的原始碼。
對(duì)我來說,由於我使用的是 OS X,因此我會(huì)將它們放置在 /Users/tommcfarlin/Downloads 中。因此,我的所有命令都將與該目錄相關(guān)。您的目錄將與您為自己選擇的任何目錄相關(guān)。
因此,在我的 Downloads 目錄中,我將建立一個(gè)名為 wp
的目錄,其中將存放我們從官方儲(chǔ)存庫中查看的原始程式碼。在終端機(jī)中,輸入負(fù)責(zé)建立新目錄的命令。
對(duì)我來說,那就是:
$ mkdir wp
現(xiàn)在我有一個(gè)空目錄,我可以透過 Subversion 將 WordPress 原始碼拉入其中。
3。查看最新程式碼
從 Subversion 儲(chǔ)存庫中提取最新版本原始程式碼的行為稱為「簽出」。因此,要查看最新版本的 WordPress,我們需要在命令列中發(fā)出 Subversion 命令。
這需要幾件事:
- 用來檢查原始程式碼的 Subversion 指令(很簡(jiǎn)單,就是
co
)。 - 我們將從中提取原始程式碼的儲(chǔ)存庫的網(wǎng)址(https://core.svn.wordpress.org/trunk/)。
使用此信息,首先更改剛剛建立的 wp
目錄中的目錄,然後使用提供的 URL 發(fā)出 Subversion checkout 命令。完整的命令集將如下所示:
$ cd wp $ svn co https://core.svn.wordpress.org/trunk/
完成後,終端應(yīng)該開始列印訊息,因?yàn)樗诶∽钚掳姹镜脑即a。
需要注意的一件非常重要的事情是,這非常適合實(shí)驗(yàn)。不要嘗試將任何程式碼推送到儲(chǔ)存庫中(您需要以正式的方式提交補(bǔ)丁,這超出了本教程的範(fàn)圍)。
將此視為獲取「只讀」原始程式碼的簡(jiǎn)單方法。
4。運(yùn)行安裝
此時(shí),您應(yīng)該會(huì)看到您在此步驟之前建立的 wp
目錄中有一個(gè) trunk
目錄。主幹是一個(gè) Subversion 命名約定,專案的開發(fā)主線是透過它完成的。
從技術(shù)上講,目錄可以命名為您想要的任何名稱;但是,使用 Subversion 儲(chǔ)存庫時(shí)使用的一般約定是:
分支
tag
trunk
#如果您使用命令列甚至作業(yè)系統(tǒng)的使用者介面導(dǎo)航到 trunk 目錄,您將看到 WordPress 應(yīng)用程式熟悉的目錄結(jié)構(gòu)。
這意味著您實(shí)際上可以設(shè)定 WordPress 的工作版本,就像從專案主頁下載它一樣.
在上一篇文章中,我詳細(xì)介紹了安裝 WordPress 應(yīng)用程式所需的內(nèi)容。如果您是 WordPress 的新手,請(qǐng)查看教學(xué)課程,因?yàn)樗鼘槟峁﹩?dòng)和運(yùn)行 WordPress 所需的所有資訊。
如果您已經(jīng)閱讀過它或熟悉如何設(shè)定 WordPress 的本機(jī)副本,那麼請(qǐng)繼續(xù):
- 使用網(wǎng)頁伺服器為目錄設(shè)定主機(jī)名稱
- 在網(wǎng)頁瀏覽器中導(dǎo)覽至該網(wǎng)址
- 開始安裝
完成後,您將執(zhí)行 WordPress 的尖端副本,其中包括正在開發(fā)的所有功能。如果您以前從未這樣做過,那麼看看下一版本中的下游內(nèi)容真的很不錯(cuò)。
您可以從儲(chǔ)存庫更新程式碼
當(dāng)您繼續(xù)使用原始程式碼或想要確保使用最新版本的原始程式碼時(shí),您將需要更新它。
由于我們使用版本控制,因此可以輕松使用 Subversion 來更新駐留在我們計(jì)算機(jī)上的代碼副本。每當(dāng)您準(zhǔn)備更新(可能是每小時(shí)或每天晚上)時(shí),您只需從 trunk
目錄中發(fā)出以下命令:
$ svn update
這個(gè)命令將拉取自您上次查看最新版本的源代碼以來合并的所有代碼。請(qǐng)注意,當(dāng)您這樣做時(shí),您將面臨破壞安裝中某些內(nèi)容的風(fēng)險(xiǎn),但這就是運(yùn)行前沿夜間構(gòu)建的本質(zhì)。
關(guān)于夜間構(gòu)建的說明
雖然本教程的主要目的之一是引導(dǎo)您在計(jì)算機(jī)上安裝 Subversion 并使用它來查看 WordPress 源代碼,但您也可以隨時(shí)使用此 URL 獲取最新版本的 WordPress。
不,這絕不是獲取源代碼的“漫長(zhǎng)之路”。相反,它是為了讓您通過使用日常使用 WordPress 時(shí)使用的工具和流程,更多地以開發(fā)人員的身份工作。
結(jié)論
無論您是想查看每天推送到 WordPress 核心的所有新內(nèi)容,還是希望最終為應(yīng)用程序提供補(bǔ)丁,訪問每晚版本的代碼都是非常有趣的.
如果沒有別的事,訪問 WordPress 等開源項(xiàng)目(有數(shù)百人正在積極致力于該項(xiàng)目)可以教會(huì)您很多有關(guān)處理錯(cuò)誤報(bào)告、票證、補(bǔ)丁、功能、合并等的知識(shí).
我不建議在本地開發(fā)環(huán)境之外的任何地方運(yùn)行此代碼。也就是說,如果您是一名開發(fā)人員并且您有興趣測(cè)試前沿的代碼,則夜間構(gòu)建可以讓您做到這一點(diǎn)。
對(duì)于那些有興趣繼續(xù)了解有關(guān) WordPress 的更多信息的人,我們專門提供了幾門關(guān)于此主題的課程。除此之外,我們還在市場(chǎng)上提供了大量插件供您下載、學(xué)習(xí)和在日常工作中使用。
如果您有興趣從開發(fā)角度了解有關(guān) WordPress 的更多信息,請(qǐng)注意,我專門使用 WordPress,并且經(jīng)常撰寫相關(guān)文章。您可以在我的個(gè)人資料頁面上觀看我的所有課程和教程,也可以在我的博客和/或 Twitter(@tommcfarlin)上關(guān)注我,我在其中談?wù)?WordPress 背景下的軟件開發(fā)。
請(qǐng)隨時(shí)在下面的提要中留下任何問題或評(píng)論,我會(huì)盡力回復(fù)每個(gè)問題或評(píng)論。
資源
- Subversion 主頁
- 下載 Subversion
- 顛覆手冊(cè)
- WordPress Subversion 訪問
- WordPress 每夜構(gòu)建
- 安裝 WordPress
以上是使用 Subversion 重新檢視 WordPress Checkout的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

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

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

要回滾WordPress版本,可使用插件或手動(dòng)替換核心文件,並禁用自動(dòng)更新。 1.使用WPDowngrade等插件輸入目標(biāo)版本號(hào)即可自動(dòng)下載替換;2.手動(dòng)下載舊版WordPress並通過FTP替換wp-includes、wp-admin等文件但保留wp-config.php和wp-content;3.在wp-config.php中添加代碼或使用過濾器禁用核心自動(dòng)更新以防止再次升級(jí)。操作前務(wù)必備份網(wǎng)站和數(shù)據(jù)庫,確保安全可靠。長(zhǎng)期建議保持最新版以保障安全性與功能支持。

在WordPress中創(chuàng)建自定義短代碼的步驟如下:1.通過functions.php文件或自定義插件編寫PHP函數(shù);2.使用add_shortcode()將函數(shù)綁定到短代碼標(biāo)籤;3.在函數(shù)中處理參數(shù)並返回輸出內(nèi)容。例如,創(chuàng)建按鈕短代碼時(shí)可定義顏色和鏈接參數(shù),實(shí)現(xiàn)靈活配置。使用時(shí)可在編輯器中插入類似[buttoncolor="red"url="https://example.com"]點(diǎn)擊這裡[/button]的標(biāo)籤,並可通過do_shortcode()在模

WordPress導(dǎo)致服務(wù)器CPU使用率飆升的主要原因包括插件問題、數(shù)據(jù)庫查詢效率低、主題代碼質(zhì)量差或流量激增。 1.首先通過top、htop或控制面板工具確認(rèn)是否為WordPress引起的高負(fù)載;2.進(jìn)入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況並刪除或替換低效插件;3.安裝緩存插件、清理冗餘數(shù)據(jù)、分析慢查詢?nèi)照I以優(yōu)化數(shù)據(jù)庫;4.檢查主題是否存在過度加載內(nèi)容、複雜查詢或缺乏緩存機(jī)制等問題,建議用標(biāo)準(zhǔn)主題測(cè)試對(duì)比並優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位並解

優(yōu)化WordPress站點(diǎn)不依賴插件的方法包括:1.使用輕量級(jí)主題,如Astra或GeneratePress,避免功能堆砌的主題;2.手動(dòng)壓縮和合併CSS、JS文件,減少HTTP請(qǐng)求;3.上傳前優(yōu)化圖片,使用WebP格式並控製文件大??;4.配置.htaccess啟用瀏覽器緩存,並接入CDN提升靜態(tài)資源加載速度;5.限製文章修訂版本並定期清理數(shù)據(jù)庫冗餘數(shù)據(jù)。

MinifyingJavaScript文件可通過刪除空白、註釋和無用代碼來提升WordPress網(wǎng)站加載速度。 1.使用支持合併壓縮的緩存插件如W3TotalCache,在“Minify”選項(xiàng)中啟用並選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細(xì)控制;3.手動(dòng)壓縮JS文件並通過FTP上傳,適用於熟悉開發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能衝突,啟用後需徹底測(cè)試網(wǎng)站功能。

TransientsAPI是WordPress中用於臨時(shí)存儲(chǔ)可自動(dòng)過期數(shù)據(jù)的內(nèi)置工具,其核心函數(shù)為set_transient、get_transient和delete_transient。相比OptionsAPI,transients支持設(shè)置生存時(shí)間(TTL),適合緩存API請(qǐng)求結(jié)果、複雜計(jì)算數(shù)據(jù)等場(chǎng)景。使用時(shí)需注意key命名唯一性與命名空間、緩存“懶刪除”機(jī)制及對(duì)象緩存環(huán)境下可能不持久的問題。典型應(yīng)用場(chǎng)景包括減少外部請(qǐng)求頻率、控制代碼執(zhí)行節(jié)奏和提升頁面加載性能。

對(duì)象緩存可輔助持久存儲(chǔ),適用於高訪問低更新、可容忍短暫丟失的數(shù)據(jù)。 1.適合用緩存“持久化”的數(shù)據(jù)包括用戶配置、熱門商品信息等,能從數(shù)據(jù)庫恢復(fù)但使用緩存可加速訪問。 2.選擇Redis等支持持久化的緩存後端,啟用RDB或AOF模式,並配置合理過期策略,但不能替代主數(shù)據(jù)庫。 3.設(shè)置長(zhǎng)TTL或永不過期鍵,採用清晰鍵名結(jié)構(gòu)如user:1001:profile,修改數(shù)據(jù)時(shí)同步更新緩存。 4.可結(jié)合本地與分佈式緩存,本地存小數(shù)據(jù)、Redis存大數(shù)據(jù)並用於重啟後恢復(fù),同時(shí)注意一致性與資源佔(zhàn)用問題。

防止評(píng)論垃圾信息最有效的方式是通過程序化手段自動(dòng)識(shí)別並攔截。 1.使用驗(yàn)證碼機(jī)制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機(jī)器人,尤其適合公眾網(wǎng)站;2.設(shè)置隱藏字段(Honeypot技術(shù)),利用機(jī)器人自動(dòng)填寫特性識(shí)別垃圾評(píng)論,不影響用戶體驗(yàn);3.檢查評(píng)論內(nèi)容關(guān)鍵詞黑名單,通過敏感詞匹配過濾垃圾信息,需注意避免誤判;4.判斷評(píng)論頻率與來源IP,限制單位時(shí)間內(nèi)的提交次數(shù)並建立黑名單;5.使用第三方反垃圾服務(wù)(如Akismet、Cloudflare)提升識(shí)別準(zhǔn)確性??筛鶕?jù)網(wǎng)站
