thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”
當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
的 GIT
、SVN
、HG
存儲庫,都可以通過 require
字段指定“包來源”和“聲明依賴”來添加到你的項目中。
thinkphp5.0.7 &===composer更新===& thinkphp5.0.9 debug “controller not found”