为什么在 prod mod 的 symfony 5.3 中我得到 503 错误,而在 dev mod 中却没有

abd*_*ini 1 production production-environment symfony symfony5

我有一个 symfony 5.3 项目,在 dev mod 中没有问题,但是一旦我将项目设置为 prod 模式,我就会收到 503 错误。\n方法如下

\n
\n    public function index($username,$lesson = 'lesson1'): Response\n    {\n        if (!$this->getUser()) {\n            return $this->redirectToRoute('app_login');\n        }\n        $student = $this->studentRepository\n        ->createQueryBuilder('s')\n        ->andWhere('s.isArchive = :is_archive')\n        ->setParameter('is_archive', false)\n        ->andWhere('s.username = :username')\n        ->setParameter('username', $username)\n        ->setMaxResults(1)\n        ->getQuery()\n        ->getOneOrNullResult();\n        if(!$this->isGranted('ROLE_ADMIN')){\n            if ($this->getUser()->getUsername() != $student->getAdviser()->getUsername()) {\n                return $this->redirectToRoute('app_login');\n            }\n        }\n        $azemoon_ha = $this->azemoonRepository\n        ->createQueryBuilder('a')\n        ->andWhere('a.student = :student')\n        ->setParameter('student', $student)\n        ->andWhere('a.isArchive = :is_archive')\n        ->setParameter('is_archive', false)\n        ->orderBy('a.id', 'ASC')\n        ->getQuery()\n        ->getResult();\n        $azemoon_arr = [];\n        $azemoon_arr['meta']['lesson1'] = null;\n        $i = 1;\n        if(is_null($azemoon_ha)){\n            // dd($azemoon_ha);\n            foreach ($azemoon_ha as $value) {\n                $az_metas = $value->getAzemoonMetas();\n                // dd($az_metas);\n                $c_num = 1;\n                $keys = [];\n                foreach ($az_metas as $am) {\n                    $azemoon_arr['meta']['lesson'.$c_num][] = $am->getVal();\n                    $keys['lesson'.$c_num] = $am->getName();\n                    $c_num++;\n                }\n                $azemoon_arr['name'][]     = '\xd8\xa2\xd8\xb2\xd9\x85\xd9\x88\xd9\x86 '.$i;\n                $azemoon_arr['tarazKol'][] = $value->getTarazKol();\n                $azemoon_arr['tarazOmomi'][] = $value->getTarazOmomi();\n                $azemoon_arr['tarazEkhtesasi'][] = $value->getTarazEkhtesasi();\n                $i++;\n            }\n        }else{\n            $this->addFlash('error', '\xd8\xa8\xd8\xb1\xd8\xa7\xdb\x8c \xd8\xaf\xd8\xa7\xd9\x86\xd8\xb4 \xd8\xa2\xd9\x85\xd9\x88\xd8\xb2 '.$student->getName().' \xd8\xa7\xd8\xb2\xd9\x85\xd9\x88\xd9\x86\xdb\x8c \xd8\xaa\xd8\xb9\xd8\xb1\xdb\x8c\xd9\x81 \xd9\x86\xd8\xb4\xd8\xaf\xd9\x87 \xd8\xa7\xd8\xb3\xd8\xaa');\n            return $this->redirectToRoute('student.info', ['username'=> $username]);\n        }\n        // dd($azemoon_arr['meta'], $keys);\n        return $this->render('dars_status/index.html.twig', [\n            'student' => $student,\n            'azemoon_arr' => $azemoon_arr,\n            'az_meta'     => $azemoon_arr['meta'],\n            'keys'        => $keys,\n            'lesson'      => $lesson\n        ]);\n    }\n\n
Run Code Online (Sandbox Code Playgroud)\n

根据我的审查,错误是从创建 $ azemoon_ha 变量的那一刻起发生的\n您认为问题出在哪里?

\n

abd*_*ini 5

我解决了我的问题。我分享,也许它也适合你我的应用程序的主要问题是缓存一些数据我使用了以下代码并且不允许缓存它们首先我在路径 config / packages / prod 中创建了一个名为 config.yaml 的文件并在其中输入以下代码

framework:
    cache:
        app: cache.adapter.null
        system: cache.adapter.null

services:
    cache.adapter.null:
        class: Symfony\Component\Cache\Adapter\NullAdapter
        arguments: [~] # small trick to avoid arguments errors on compile-time.
Run Code Online (Sandbox Code Playgroud)