国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用composer來管理wordpress | 亂燉

composer是一個好東西,類似node中的npm,在接觸沒多久的時候就一直有個想法,能不能在wordpress中使用composer,因為composer有大量非常好且實用的資源。

在早前的時候我的做法是這樣的,先建立一個wordpress項目,在wordpress根目錄中建立一個composer.json之后,執(zhí)行`composer install`來進(jìn)行包管理。那結(jié)果根目錄就會像這樣。

wp-admin/wp-content/wp-include/vendor/composer.jsoncomposer.lockindex.phplicense.txtreadme.htmlwp-activate.phpwp-blog-header.phpwp-comments-post.phpwp-config-sample.phpwp-cron.phpwp-links-opml.phpwp-load.phpwp-login.phpwp-mail.phpwp-settings.phpwp-signup.phpwp-trackback.phpxmlrpc.php

使用過wordpress的朋友應(yīng)該對這樣的結(jié)構(gòu)都不會陌生,他存在以下幾個問題:

  • wordpress核心文件和composer參雜在一起
  • 結(jié)構(gòu)不清晰,使用不方便
  • 看上去很不友好

最近在網(wǎng)上無意找了些資料,發(fā)現(xiàn)有種方法可以使得wordpress更好的搭配composer進(jìn)行包的依賴管理。最終可以實現(xiàn)如下的目錄結(jié)構(gòu)

wp-content/wp/vendor/composer.jsoncomposer.lockindex.php

下面我將個人實踐的方法做個簡單的記錄,和網(wǎng)上搜索到的普遍資料有些不一樣,我個人做了一些優(yōu)化,具體有哪些優(yōu)化,請繼續(xù)往下看。

初次安裝wordpress的用戶

1.初次安裝需要先配置`composer.json`,我的配置信息如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
    "name" :            "亂燉",
    "description" :     "亂燉 - 研究web",
    "version" :         "0.1.1",
    "license" :         "GPL",
    "homepage" :        "http://levi.cg.am",
    "authors" : [{
        "name" :        "Levi",
        "email" :       "cgfeel@gmail.com",
        "homepage" :    "http://levi.cg.am"
    }],
    "repositories" : [{
        "type": "composer",
        "url": "http://wpackagist.org"
    }, {
        "type" :        "package",
        "package": {
            "name":     "wordpress",
            "type":     "webroot",
            "version""4.1.1",
            "dist": {
                "type": "zip",
                "url""https://wordpress.org/latest.zip"
            }
        }
    }],
    "require" : {
        "php": ">=5.3.0",
        "wordpress": "4.1.1",
        "fancyguy/webroot-installer": "1.0.0",
        "levi/lv" : "dev-master",
        "wpackagist-plugin/cnblogs2wp": "0.6.4",
        "wpackagist-plugin/wp-patch-levi": "0.2.9",
        "wpackagist-theme/twentyfifteen": "1.0"
    },
    "extra": {
        "webroot-dir": "wp",
        "webroot-package": "wordpress"
    }
}

這段composer配置信息大致意思如下:

  • 配置一個為zip的遠(yuǎn)程資源(webroot),資源地址就是wordpress安裝壓縮包的下載地址
  • 設(shè)置這個webroot資源包安裝在`wp/`,這個目錄下

2.保存文件后,執(zhí)行安裝

1
composer install

待出現(xiàn)類似下面的提示信息后,就表示資源包已下載到本地了

Loading composer repositories with package informationInstalling dependencies (including require-dev)  - Installing fancyguy/webroot-installer (1.0.0)    Downloading: 100%  - Installing wordpress (3.8)    Downloading: 100%Writing lock fileGenerating autoload files

3.通過瀏覽器訪問目錄`wp/`,進(jìn)行安裝wordpress,安裝步驟省略,這個網(wǎng)上教程太多了,不復(fù)雜,如果不了解請自行搜索。

已完成安裝wordpress的用戶

這有兩種情況,一種是你之前就已安裝過wordpress,但是沒有安裝使用composer進(jìn)行包管理;還有一種就是上面提到的,全新安裝的用戶,這類用戶如果按照步驟來的話,看到這里實質(zhì)上也已完成對wordpress安裝了。

所以無論哪種情況,接下來要做的就是劃分目錄。在網(wǎng)上搜索“將wordpress安裝在網(wǎng)站子目錄”會有很多相關(guān)資料,wordpress官方也有一個,可直接從后臺常規(guī)設(shè)置中找到入口連接。大致上都是千篇一律,如下:

  1. 進(jìn)入wordpress后臺常規(guī)設(shè)置,將home URL設(shè)置為二級域名,將site URL設(shè)置為主域名
  2. 將`index.php`和`wp-content/`放置在根目錄下,其余所有文件放置在子目錄下
  3. 修改wp-config.php,配置WP_CONTENT_DIR等相關(guān)常量

這樣做看上去似乎沒錯,但是卻存在幾個問題

首先關(guān)于這兩個函數(shù)`get_option(‘home’)`和`get_option(`siteurl`)`大家能分得清嗎?什么地方用`home`,設(shè)么地方用`siteurl`?ok,假定你能分得清楚,那能保證其他人能分清楚嗎?比如說你使用的主題的作者,或者插件作者?如果分不清,這將直接造成你的博客在后續(xù)使用過程中造成URL錯亂。

其次,設(shè)置了`home`還有`siteurl`,那么就會記錄在庫中,這次我們要將`wp/`作為二級目錄,如果下次我們想修改下二級目錄名稱為`levi/`,思考下,步驟有多麻煩;而如果是多站點博客,那就更恐怖了,每一個站點都要改一次,噩夢~

下面我針對這幾個問題,做了一次較大的優(yōu)化,我要讓`wordpress`做成“平”的,就算將wordpress放入二級目錄,我也讓他使用一級目錄進(jìn)行訪問。我的做法如下:

  1. 無需后臺設(shè)置博客URL,你是abc.com你的home、siteurl就都是abc.com
  2. 將`index.php`和`wp-content/`放置在根目錄下,其余所有文件放置在子目錄下
  3. 修改`index.php`,如下:
    1
    require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
  4. 修改`wp/wp-config.php`,找到
    1
    define('ABSPATH', dirname(__FILE__) . '/');

    在其下方設(shè)置WP_CONTENT_DIR,如下:

    1
    define('WP_CONTENT_DIR', dirname(ABSPATH).'/wp-content');
  5. 配置nginx,如下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
    if (-f $request_filename) {
        set $rule_2 1;
    }
    if (-d $request_filename) {
        set $rule_2 1;
    }
    if ($rule_2 = "1") {
        #ignored: “-” thing used or unknown variable in regex/rew
    }
    if ($rule_2 != "1") {
        rewrite ^/wp-(.*)                                           /wp/wp-$1          last;
        rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2                last;
        rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$                       /$2                last;
        rewrite /.                                                  /index.php         last;
    }

    關(guān)鍵是這一句,意思是將所有主域下以wp-開頭的請求作為二級目錄進(jìn)行解析

    1
    rewrite ^/wp-(.*) /wp/wp-$1 last;

至此,如果是全新安裝的用戶,就已經(jīng)完成wordpress安裝了,而本身已安裝wordpress而調(diào)整到二級目錄的用戶,還需要配置composer信息,配置composer信息請參照“全新用戶安裝”的方法

添加依賴的安裝包

wordpress安裝好了,接下來就是通過composer進(jìn)行包管理了。網(wǎng)上有很多方法,這里我推薦一個比較簡單的方法。打開剛才的配置文件composer.json,其中有這么一段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"repositories" : [{
    "type": "composer",
    "url": "http://wpackagist.org"
}, {
    "type" :        "package",
    "package": {
        "name":     "wordpress",
        "type":     "webroot",
        "version""4.1.1",
        "dist": {
            "type": "zip",
            "url""https://wordpress.org/latest.zip"
        }
    }
}],
"require" : {
    "php": ">=5.3.0",
    "wordpress": "4.1.1",
    "fancyguy/webroot-installer": "1.0.0",
    "levi/lv" : "dev-master",
    "wpackagist-plugin/cnblogs2wp": "0.6.4",
    "wpackagist-plugin/wp-patch-levi": "0.2.9",
    "wpackagist-theme/twentyfifteen": "1.0"
},

意思是通過http://wpackagist.org對包進(jìn)行管理,并且通過在`require`可以添加package資源、wordpress主題和插件,讓其通過composer進(jìn)行管理(安裝、升級)。

您也可以自行添加所需的資源、類庫。添加完成后,在根目錄輸入以下命令進(jìn)行更新

1
composer update

插個題外話,composer國內(nèi)使用太慢,composer國內(nèi)鏡像及其不穩(wěn)定,經(jīng)常502,不推薦使用,建議大家使用日本鏡像,http://composer-proxy.jp/

使用方法如下:

通過下面命令,查看composer的`home`所謂路徑

1
composer config -g -e

通過homebrew安裝的用戶,`home`的位置一般在`~/.composer/`,修改目錄下的`config.json`,將下面這段添加進(jìn)去,保存并退出

1
2
3
4
5
6
7
8
9
{
    "repositories": [
        { "packagist": false },
        {
            "type": "composer",
            "url": "http://composer-proxy.jp/proxy/packagist"
        }
    ]
}

在wordpress中使用composer的資源

composer的特定之一就是擁有很龐大的PHP資源,通過composer管理wordpress后,如何在wordpress中調(diào)用composer下的資源呢?

打開wp/wp-config.php,在下面這段之前

1
require_once(ABSPATH . 'wp-settings.php');

增加composer提供的自動加載類,如下:

1
include dirname(ABSPATH).'/vendor/autoload.php';

這樣你僅需在適當(dāng)?shù)漠?dāng)方通過命名空間,直接使用第三方資源。

優(yōu)化了wordpress目錄結(jié)構(gòu)后,除了wordpress核心文件以外都可以任意修改,他們包含:

  • index.php
  • wp-content/*
  • wp/wp-config.php

若擅自修改wordpress核心文件,那你可得小心咯,下次升級時,代碼會自動被覆蓋哦

使用git來托管項目

有經(jīng)驗的朋友也許會說,直接`push`唄。沒錯,不過可以排除剛才使用composer托管的所有資源,修改`.gitignore`,添加信息如下:

1
2
3
4
5
6
###############
#  wordpress  #
###############
vendor/
wp/
wp-content/

完成后進(jìn)行提交,這個時候git上就只有4個文件了

README.mdindex.phpLICENSEcomposer.json

之后,我需要在其他環(huán)境下部署wordpress,僅僅只要像下面這樣就可以構(gòu)建一套完整的wordpress

1
2
git pull origin master
composer update

結(jié)語

混沌代碼布局,現(xiàn)在總算抽離開了。通過composer來管理wordpress有幾個好處

  1. 干凈整潔,簡簡單單幾個文件即可配置出一整套系統(tǒng)來
  2. 安全,可以將wordpress核心文件的真實路徑隱藏起來(包括后臺、后臺登錄)
  3. 結(jié)合composer,可以擁有很多現(xiàn)成的PHP資源包

最后,有什么問題,大家可以給我留言哦,別忘了關(guān)注我的博客哦:

http://list.qq.com/cgi-bin/qf_invite?id=b6eb34388fd016582957d6e50d005146e24fe6b166ee66c0

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【wordpress】安裝:著名的五分鐘安裝
如何關(guān)閉WordPress自動更新
WordPress的多站點設(shè)置功能體驗
本地安裝Wordpress 2.0.1 Stable
WordPress架設(shè)多域名多站點教程
Wordpress技巧:如何整合2個不同博客的賬號
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服