1. 程式人生 > >thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”

thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”

orm 定義 align master 參考 not lin 最新 博客

當thinkphp5.0.7更新到最新版本時,問題來了。。。

技術分享

控制類加載不了。

上線版本出現這個情況,也就悲哀了。======

那麽這種問題主要是因為 composer 沒有合理的使用;

詳細參考:如下內容:

composer.lock - 鎖文件

在安裝依賴後,Composer 將把安裝時確切的版本號列表寫入 composer.lock 文件。這將鎖定改項目的特定版本。

請提交你應用程序的 composer.lock (包括 composer.json)到你的版本庫中

這是非常重要的,因為 install 命令將會檢查鎖文件是否存在,如果存在,它將下載指定的版本(忽略 composer.json

文件中的定義)。

這意味著,任何人建立項目都將下載與指定版本完全相同的依賴。你的持續集成服務器、生產環境、你團隊中的其他開發人員、每件事、每個人都使用相同的依賴,從而減輕潛在的錯誤對部署的影響。即使你獨自開發項目,在六個月內重新安裝項目時,你也可以放心的繼續工作,即使從那時起你的依賴已經發布了許多新的版本。

如果不存在 composer.lock 文件,Composer 將讀取 composer.json 並創建鎖文件。

這意味著如果你的依賴更新了新的版本,你將不會獲得任何更新。此時要更新你的依賴版本請使用 update 命令。這將獲取最新匹配的版本(根據你的 composer.json 文件)並將新版本更新進鎖文件。

php composer.phar update

如果只想安裝或更新一個依賴,你可以白名單它們:

php composer.phar update monolog/monolog [...]

註意: 對於庫,並不一定建議提交鎖文件 請參考:如下:

鎖文件

如果你願意,可以在你的項目中提交 composer.lock 文件。他將幫助你的團隊始終針對同一個依賴版本進行測試。任何時候,這個鎖文件都只對於你的項目產生影響。

如果你不想提交鎖文件,並且你正在使用 Git,那麽請將它添加到 .gitignore 文件中。

發布到 VCS(線上版本控制系統)

一旦你有一個包含 composer.json

文件的庫存儲在線上版本控制系統(例如:Git),你的庫就可以被 Composer 所安裝。在這個例子中,我們將 acme/hello-world 庫發布在 GitHub 上的 github.com/username/hello-world中。

現在測試這個 acme/hello-world 包,我們在本地創建一個新的項目。我們將它命名為 acme/blog。此博客將依賴 acme/hello-world,而後者又依賴 monolog/monolog。我們可以在某處創建一個新的 blog 文件夾來完成它,並且需要包含 composer.json 文件:

{
    "name": "acme/blog",
    "require": {
        "acme/hello-world": "dev-master"
    }
}

在這個例子中 name 不是必須的,因為我們並不想將它發布為一個庫。在這裏為 composer.json 文件添加描述。

現在我們需要告訴我們的應用,在哪裏可以找到 hello-world 的依賴。為此我們需要在 composer.json 中添加 repositories 來源申明:

{
    "name": "acme/blog",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/hello-world"
        }
    ],
    "require": {
        "acme/hello-world": "dev-master"
    }
}

更多關於包的來源是如何工作的,以及還有什麽其他的類型可供選擇,請查看資源庫

這就是全部了。你現在可以使用 Composer 的 install 命令來安裝你的依賴包了!

小結: 任何含有 composer.json GITSVNHG 存儲庫,都可以通過 require 字段指定“包來源”和“聲明依賴”來添加到你的項目中。

thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”