【问题标题】:How we setup cakephp 3.x without database?我们如何在没有数据库的情况下设置 cakephp 3.x?
【发布时间】:2023-04-09 04:41:01
【问题描述】:

在我们的项目中我们不需要数据库,那么我们如何在本地机器上设置 cakephp 3.x 而不修改数据库配置呢?我在运行我的网站时遇到了这个问题。

错误:找不到类“PDO” 文件 /usr/share/nginx/dchannel/vendor/cakephp/cakephp/src/Database/Type.php 线路:100

所以请建议一个更好的方法来禁用 cakephp 3.x 上的数据库

提前谢谢你。

【问题讨论】:

  • 请发布您目前尝试过的代码,以便我们帮助您调试。

标签: php mysql cakephp nginx pdo


【解决方案1】:

理论上,如果您只是避免接触与数据库交互的任何东西,或者使用与 PDO 相关的常量和东西,例如应用程序引导程序中默认涉及的 Type 类,那么这应该是可能的:

https://github.com/cakephp/app/blob/3.5.0/config/bootstrap.php#L174-L189

您也不能使用 Migrations 或 DebugKit,因为两者都需要 PDO:

https://github.com/cakephp/app/blob/3.5.0/config/bootstrap.php#L206-L207 https://github.com/cakephp/app/blob/3.5.0/config/bootstrap.php#L211-L217

如果您评论这些 sn-ps,并且不要在任何地方触摸模型层,那么它应该可以工作。但是,我认为不能保证这将继续有效。如果你想确保可以通过 SlackIRC 询问核心开发人员,或者甚至可以在 GitHub

【讨论】:

    【解决方案2】:

    我认为在没有数据库的情况下设置 CakePHP 是不可能的;它基本上是数据库的前端,因此该工具没有它就无法工作,而且我认为它还使用它来存储其一些配置。如果您不需要数据库,那么我建议您选择不同的框架。

    【讨论】:

    • 我同意@Lorna。但也许您可以更改 CakePHP 的设计模板,以使用 YAML 文件来存储数据。 CakePHP 已经在核心中定义了这个 Symfony 包。总的来说,我认为当你不需要数据库时,你必须看看另一个基于文件而不是基于数据库的框架。
    【解决方案3】:

    我认为这是可能的,因为 cakephp 使用了自己的设计模板。所以只需用你的模板替换模板。 php 默认模板 \src\Template\Pages\home.ctp

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 2016-01-21
      • 2016-02-23
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 2015-12-27
      • 2018-11-18
      • 2010-10-23
      相关资源
      最近更新 更多