为啥在 prod mod 的 symfony 5.3 中出现 503 错误,而在 dev mod 中却没有
Posted
技术标签:
【中文标题】为啥在 prod mod 的 symfony 5.3 中出现 503 错误,而在 dev mod 中却没有【英文标题】:Why in the symfony 5.3 in prod mod I get a 503 error while in dev mod not为什么在 prod mod 的 symfony 5.3 中出现 503 错误,而在 dev mod 中却没有 【发布时间】:2021-12-20 12:00:02 【问题描述】:我有一个 symfony 5.3 项目,它在 dev mod 中没有问题,但是一旦我将项目设置为 prod 模式,我就会收到 503 错误。 方法如下
public function index($username,$lesson = 'lesson1'): Response
if (!$this->getUser())
return $this->redirectToRoute('app_login');
$student = $this->studentRepository
->createQueryBuilder('s')
->andWhere('s.isArchive = :is_archive')
->setParameter('is_archive', false)
->andWhere('s.username = :username')
->setParameter('username', $username)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult();
if(!$this->isGranted('ROLE_ADMIN'))
if ($this->getUser()->getUsername() != $student->getAdviser()->getUsername())
return $this->redirectToRoute('app_login');
$azemoon_ha = $this->azemoonRepository
->createQueryBuilder('a')
->andWhere('a.student = :student')
->setParameter('student', $student)
->andWhere('a.isArchive = :is_archive')
->setParameter('is_archive', false)
->orderBy('a.id', 'ASC')
->getQuery()
->getResult();
$azemoon_arr = [];
$azemoon_arr['meta']['lesson1'] = null;
$i = 1;
if(is_null($azemoon_ha))
// dd($azemoon_ha);
foreach ($azemoon_ha as $value)
$az_metas = $value->getAzemoonMetas();
// dd($az_metas);
$c_num = 1;
$keys = [];
foreach ($az_metas as $am)
$azemoon_arr['meta']['lesson'.$c_num][] = $am->getVal();
$keys['lesson'.$c_num] = $am->getName();
$c_num++;
$azemoon_arr['name'][] = 'آزمون '.$i;
$azemoon_arr['tarazKol'][] = $value->getTarazKol();
$azemoon_arr['tarazOmomi'][] = $value->getTarazOmomi();
$azemoon_arr['tarazEkhtesasi'][] = $value->getTarazEkhtesasi();
$i++;
else
$this->addFlash('error', 'برای دانش آموز '.$student->getName().' ازمونی تعریف نشده است');
return $this->redirectToRoute('student.info', ['username'=> $username]);
// dd($azemoon_arr['meta'], $keys);
return $this->render('dars_status/index.html.twig', [
'student' => $student,
'azemoon_arr' => $azemoon_arr,
'az_meta' => $azemoon_arr['meta'],
'keys' => $keys,
'lesson' => $lesson
]);
根据我的评论,从 $ azemoon_ha 变量创建的那一刻起就发生了错误 您认为问题出在哪里?
【问题讨论】:
有趣的是,当我从 var/cache 路径中清除 prod 缓存时,页面同时加载。如果再次重新加载页面,则会收到 503 错误。请帮助我 【参考方案1】:我解决了我的问题。我分享,也许它对你也有用 我的应用程序的主要问题是缓存一些数据 我使用了以下代码并且不允许它们被缓存 首先我在 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.
【讨论】:
以上是关于为啥在 prod mod 的 symfony 5.3 中出现 503 错误,而在 dev mod 中却没有的主要内容,如果未能解决你的问题,请参考以下文章
在 dev 和 prod 环境中设置 Backbone.js 从 Symfony2 获取
为啥 Symfony 5.1 不能识别“routes.php”文件中配置的路由?