问题标签 [cakephp-4.x]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
734 浏览

cakephp - 如何解决 Composer 依赖升级到 CakePHP4?

我正在按照将 CakePHP 项目移动到版本 4 的升级说明进行操作。一切顺利,直到最后的命令:

php composer.phar 需要 --update-with-dependencies "cakephp/cakephp:4.0.*"

这导致

问题 1

  • cakephp/bake 1.11.2 需要 cakephp/cakephp ^3.8.0 -> 可满足 cakephp/cakephp[3.8.0, >>3.8.0-RC1, 3.8.0-RC2, 3.8.0-RC3, 3.8.0- β1、3.8.1、3.8.10、3.8.11、3.8.2、3.8.3、3.8.4、>>3.8.5、3.8.6、3.8.7、3.8.8、3.8.9、3。 x-dev] 但这些与您的要求或 >.minimum-stability 冲突。
  • cakephp/bake 1.11.2 需要 cakephp/cakephp ^3.8.0 -> cakephp/cakephp[3.8.0, 3.8.0-RC1, 3.8.0-RC2, 3.8.0-RC3, 3.8.0-beta1, 3.8.1、3.8.10、3.8.11、3.8.2、3.8.3、3.8.4、3.8.5、3.8.6、3.8.7、3.8.8、3.8.9、3.x-dev]但这些与您的要求或最低稳定性相冲突。
  • cakephp/bake 1.11.2 需要 cakephp/cakephp ^3.8.0 -> cakephp/cakephp[3.8.0, 3.8.0-RC1, 3.8.0-RC2, 3.8.0-RC3, 3.8.0-beta1, 3.8.1、3.8.10、3.8.11、3.8.2、3.8.3、3.8.4、3.8.5、3.8.6、3.8.7、3.8.8、3.8.9、3.x-dev]但这些与您的要求或最低稳定性相冲突。
  • cakephp/bake 的安装请求(锁定在 1.11.2,需要为 ^1.9.0)-> cakephp/bake[1.11.2] 可满足。

该项目的 VERSION.txt 显示 CakePHP 在 3.8.11。

在 composer.json 文件中:

0 投票
1 回答
81 浏览

cakephp - Cakephp 传递条件以包含抛出 InvalidArgumentException

我想通过将条件(限制)传递给->contain('ProductCategory')

抛出异常:

无法设置遏制。要使用 $queryBuilder,$associations 必须是字符串

如何限制单个关联的结果?

0 投票
1 回答
999 浏览

cakephp - CakePHP:CMS 教程:获取 InvalidCsrfTokenException 尽管 csrf 保护它甚至没有被激活

我在 Lubuntu 上设置了 CakePHP 4.0.6。使用本地 Apache 服务器。安装很顺利,我可以看到欢迎页面。

然后我开始 CMS 教程,在数据库中创建表,然后用 bake 创建所有内容。 ./cake bake all --everything 这也很好,我可以看到/users/index页面。

接下来当然我尝试通过添加一个用户来使用 cms,显示了表单并填写了请求的信息,但是在提交时我收到了这个错误: Missing CSRF token body

堆栈跟踪:

[Cake\Http\Exception\InvalidCsrfTokenException] 在 /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php 中缺少 CSRF 令牌主体 254 行堆栈跟踪:- /home/david/软件/cakePhpTest/vendor/cakephp/cakephp/src/Http/Middleware/CsrfProtectionMiddleware.php:133 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:73 - /home/ david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:58 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php:162 - / home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:73 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php:68 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:73 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php:119 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner。 php:73 - /home/david/Software/cakePhpTest/vendor/cakephp/debug_kit/src/Middleware/DebugKitMiddleware.php:60 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner。 php:73 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:58 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Server。 php:90 - /home/david/Software/cakePhpTest/webroot/index.php:40 请求 URL:/users/add 引用 URL:73 - /home/david/Software/cakePhpTest/vendor/cakephp/debug_kit/src/Middleware/DebugKitMiddleware.php:60 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php: 73 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:58 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Server.php: 90 - /home/david/Software/cakePhpTest/webroot/index.php:40 请求 URL:/users/添加引用 URL:73 - /home/david/Software/cakePhpTest/vendor/cakephp/debug_kit/src/Middleware/DebugKitMiddleware.php:60 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php: 73 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Runner.php:58 - /home/david/Software/cakePhpTest/vendor/cakephp/cakephp/src/Http/Server.php: 90 - /home/david/Software/cakePhpTest/webroot/index.php:40 请求 URL:/users/添加引用 URL:http://localhost:8765/users/add客户端IP:127.0.0.1

真正让我感到困惑的是,根据CakePHP 文档,必须启用跨站点请求伪造保护,src/Application.php而这不在新安装的项目中。我检查了。

那么没有启用的东西怎么会导致错误。

为了查看如果我启用它会发生什么,我从文档中复制了代码:

src/Application.php. 这会导致同样的错误。

0 投票
1 回答
1121 浏览

cakephp - CakePHP 4.0 - 如何创建和显示针对字段的验证错误?

我正在使用 CakePHP 4.0,并创建一个用户注册页面。我已经设置了一些验证规则,它们会在预期的时候返回错误,但我不知道如何让它们显示在表单中的适当字段上。在 v3.0 中,这似乎是自动发生的。

我的表格(in register.php)是:

UsersController.php我有行动register

UsersTable 中的验证规则是:

如果我提交表单时没有输入任何名称或电子邮件地址,getErrors() 会选取无效字段并创建一个数组,我可以通过调试看到该数组包含:

所以它已经意识到 name 字段没有验证,但它没有像在版本 3.0 中那样在表单(或任何地方)中的字段上显示它。

我还需要做什么?

0 投票
1 回答
318 浏览

php - 与政策相关的 cakePHP bake 命令不起作用(在我的情况下)

我正在研究 cakePHP(4.0.5 版),当我尝试运行时

bin/cake bake policy --type 实体名称

命令,它会给出一个错误。

错误:未知选项type

有没有人遇到过这样的问题,有什么解决办法,欢迎分享...

0 投票
0 回答
144 浏览

mysql - 为什么 CakePHP 4 CLI 不能通过 PDO 连接到 MySQL 数据库?

我在带有 LAMPP 堆栈的 Linux Mint 肉桂安装上使用 CakePHP 4。我有一个用户数据库,PHP 的所有厨师帽都是绿色的。在浏览器中运行时,该应用程序还能够从我的数据库中获取数据。

我想烘焙我的用户模型/控制器/视图:

这将返回以下错误:

看起来通过 PDO 连接到数据库不起作用:

我正确填写了数据库连接详细信息app_local.php(如前所述:在浏览器中运行应用程序可以很好地与数据库配合使用)。

我安装了php7.4_pdo_mysqland php7.4-mysql,运行php -m返回以下内容:

php -i返回(除其他外):

我还尝试了以下解决方案:

0 投票
1 回答
768 浏览

php - 在 CakePHP 4 的请求数据中找不到 _Token

我对 cakephp 4 中的简单注册功能有一些问题,我启用了 FormProtection 组件,它返回“在请求数据中找不到 _Token”。

令牌已经生成,但我不知道为什么控制器无法检测到它

功能注册

0 投票
0 回答
33 浏览

cakephp-4.x - CakePHP 4 DefaultPasswordHasher::hash() 问题。每次使用不同的哈希

我正在关注 cakePHP4 博客教程,但_setPassword(). 每次我尝试使用相同的密码编辑用户时,我都会得到不同的哈希值。

这是我的 setPassword 函数:

我强迫$password价值确定价值。这是我的 UsersControles 编辑功能:

有谁知道我要去哪里错了?

0 投票
1 回答
271 浏览

cakephp - 如何在 cakephp 4 中使用validationDefault()

如何根据这个问题更改此代码?

  1. 用户名只能接受字符和数字(无特殊字符)

  2. 密码需要具备以下规则: i. 至少 1 个数字 至少 1 个大写字符 iii. 至少 1 个小写字符 iv。至少 1 个特殊字符

0 投票
0 回答
397 浏览

https - Https重定向在cakephp 4中不起作用

我有一个与 cakephp 4 中的 https 重定向相关的问题,

我配置了 HttpsEnforcerMiddleware 但它没有重定向到 https。它显示与所有 http 请求的 FormProtection 组件相关的错误。

错误日志:

堆栈跟踪更新(版本 2)

在此处输入图像描述