升级到 Laravel 4.1 报错
Posted
技术标签:
【中文标题】升级到 Laravel 4.1 报错【英文标题】:Upgrade to Laravel 4.1 error 【发布时间】:2013-12-19 17:21:39 【问题描述】:我相信我已经为 4.1 准备好了所有依赖项,但是当我使用 composer update 时出现以下错误:
生成自动加载文件
脚本 php artisan clear-compiled 处理 post-update-cmd 事件返回错误:
脚本 php artisan 优化处理 post-update-cmd 事件返回错误:
我的作曲家文件如下:
"require":
"laravel/framework": "4.1.*",
"jasonlewis/basset": "dev-master",
"twbs/bootstrap": "dev-master",
"frozennode/administrator": "dev-master",
"bllim/datatables": "*",
"scubaclick/mandrill": "dev-develop"
,
"require-dev":
"codeception/codeception": "1.8.*",
"way/generators": "dev-master"
,
"autoload":
"classmap": [
"app/commands",
"app/controllers",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/Acme/Apis/v1"
],
"psr-0":
"Acme" : "app/"
,
"scripts":
"post-install-cmd": [
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
,
"config":
"preferred-install": "dist"
,
"minimum-stability": "dev"
【问题讨论】:
手动运行php artisan optimize
查看错误。
我做了,但我什么也没得到,看起来 artisan 在当前状态下根本没有运行。在 4.0 时,当我运行“php artisan”时,我可以获得所有命令。现在它没有执行。
解决了!看起来是redis配置和升级中需要更改的路由。升级说明应说明此错误发生在升级过程中,直到所有步骤完成。
@user3061986 我认为它在说明中:github.com/laravel/laravel/blob/develop/upgrade.md
【参考方案1】:
通常,如果您没有从 composer 目录 到 autoload_classmap.php 文件中的任何类文件的正确路径,并且您是仍在使用该文件。
这可以通过在使用新文件之前执行 php artisan dump-autoload 文件来解决。
如果您已经在使用该文件,请注释该部分,运行 php artisan dump-autoload 然后取消注释之前注释的那些行。
【讨论】:
【参考方案2】:当时升级过程需要我把那个帖子编译出来,运行它,然后再做一次。我终于让它工作了,但并不顺利。
【讨论】:
【参考方案3】:您需要执行composer update --no-scripts
来更新您的所有作曲家文件,而无需运行工匠命令;这样做的原因是直到 composer 完成 artisan 会被升级破坏,并且默认 composer.json 文件的命令 php artisan clear-compiled
设置为在更新供应商文件夹之前运行。
如果一切都失败了,那么删除你的供应商目录和 composer.lock 文件,然后运行composer install
【讨论】:
以上是关于升级到 Laravel 4.1 报错的主要内容,如果未能解决你的问题,请参考以下文章
脚本 php artisan clear-compiled 处理 pre-update-cmd 事件返回错误(Laravel 4.1 升级)
Laravel 5.5 升级到 5.5.42 后遇到的 Cookie 序列化问题
Laravel 5.5 升级到 5.5.42 后遇到的 Cookie 序列化问题