升级 php 8 后无法运行 php Spark 服务

问题描述 投票:0回答:3

PHP 已弃用:必需参数 $userAgent 位于 /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/HTTP/IncomingRequest.php 第 161 行中的可选参数 $body

已弃用:必需参数 $userAgent 位于 /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/HTTP/IncomingRequest.php 第 161 行中的可选参数 $body

CodeIgniter CLI 工具 - 版本 4.0.4 - 服务器时间:2021-05-10 04:44:31am

遇到未捕获的异常

类型:ErrorException 消息:必需参数 $from 跟随可选参数 $verbs 文件名:/media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Router/RouteCollection.php 线路号码:1017

Backtrace:
                    -365 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Autoloader/Autoloader.php::errorHandler
                            -365 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Autoloader/Autoloader.php::require_once
                            -296 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Autoloader/Autoloader.php::requireFile
                            -258 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Autoloader/Autoloader.php::loadInNamespace
                            -699 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Config/Services.php::loadClass
                            -123 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Config/BaseService.php::routes
                            -696 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/Config/Services.php::getSharedInstance
                            -4 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/app/Config/Routes.php::routes
                            -780 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/CodeIgniter.php::require
                            -364 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/CodeIgniter.php::tryToRouteIt
                            -312 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/CodeIgniter.php::handleRequest
                            -86 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/vendor/codeigniter4/framework/system/CLI/Console.php::run
                            -57 - /media/asus/06D0D488D0D47EFD/Belajar Web/Codeigniter 4/toko-online-ci4/spark::run
codeigniter-4
3个回答
1
投票

https://forum.codeigniter.com/thread-77289-page-2.html

任何想要在 PHP 8 中使用 CI4 的人都应该使用 4.1 分支。 最新开发在技术上应该可行,但不建议这样做。发布 日期必须由基金会确定,但我认为我们 已准备好迎接 4.0.5 和 4.1,两者都支持 PHP 8。

那是2021年1月6日。你至少需要更新你的CI4版本。


0
投票

我有一个类似的问题,通过执行解决了 作曲家更新 在项目根文件夹的 cmd 中。


0
投票

转到“system\HTTP\IncomingRequest.php”第 161 行并更改:

public function __construct($config, URI $uri = null, $body = 'php://input', UserAgent $userAgent)

public function __construct($config, URI $uri = null, $body = 'php://input', UserAgent $userAgent=null)

也适用于 RouteCollection.php 的第 1017 行

转到“system\Router\RouteCollection.php”第 1017 行并更改:

public function match(array $verbs = [], string $from, $to, array $options = null): RouteCollectionInterface

public function match(array $verbs = [], string $from = null, $to = null, array $options = null): RouteCollectionInterface
© www.soinside.com 2019 - 2024. All rights reserved.