gpt4 book ai didi

php - 原则在产品上有问题,但在开发上没有

转载 作者:行者123 更新时间:2023-12-02 22:30:56 24 4
gpt4 key购买 nike

我早些时候在两种环境中的本地计算机和目标主机上测试了 Symfony 的网络应用程序:prod 和 dev - 都运行良好。所以我在我的本地计算机上完成了一个里程碑,仍然只在开发上测试。一切正常。但是 - Doctrine 现在似乎不适用于产品 - 我不知道它为什么以及如何停止工作。

这是我所看到的 - 这段代码(来自 DefaultController.php)同时适用于生产和开发:

    $tags = $this->getDoctrine()
->getRepository("MyWebBundle:Tag");

但这(多了一行)只适用于开发,但不适用于生产:

    $tags = $this->getDoctrine()
->getRepository("MyWebBundle:Tag")
->find(1);

在产品中,最后一行导致网页“死亡”。毫无疑问发生了错误,但我在日志中没有任何消息,当然在 prod env 中 Symfony 是沉默的。我不知道如何解决这个问题...最奇怪的是 prod 之前正常工作。

更新:好的,我追踪了代码的一部分,这部分代码使工作和不工作有所不同(但在生产中,在开发中总是有效)。数据库中有一些关系(将多对一标记为类别)。这是 Entity/Tag.php 中的这部分代码:

/**
* @ORM\ManyToOne(targetEntity="Category")
* @ORM\JoinColumn(name="id_category", referencedColumnName="id_category", nullable=true)
*/
protected $category;

有趣的是 Symfony2 对此并不冗长......当我从 Tag.php 中删除它时,我的网络应用程序可以正常工作。如果我将它重新输入到这个文件中,它不会...

更新:经过进一步研究,我发现实际上所有关系都是有问题的(在生产中,而不是在开发中)。我以上述方式向数据库编写了额外的“人工”(出于测试目的)查询,并且都给出了两种效果之一:当表位于层次依赖之上时,一切正常(我们称之为 A 类型)*当表有关系时,Symfony 会在没有任何消息的情况下停止工作(我们称之为 B 类型...*

我还尝试用空表和已完成的表进行测试。 “B型”表中有以下两种情况:当为空时,它起作用*存储数据(与关系)时,它不起作用*

最佳答案

在你的app.php中改变

$kernel = new AppKernel('prod', false);

$kernel = new AppKernel('prod', true);

这将在 prod 环境和启用调试的情况下启动您的应用程序

关于php - 原则在产品上有问题,但在开发上没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12285923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com