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
字段指定“包来源”和“声明依赖”来添加到你的项目中。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南