【发布时间】:2016-09-04 16:33:22
【问题描述】:
我目前正在使用 symfony 3 构建订阅表单,并且在开发环境中的所有工作都应该如此。一旦我将它部署到生产环境中,一开始一切正常 - 数据被推送到数据库,就像它应该为第一个订阅者一样。但是,当我关闭网站时,再次打开它,填写表格并尝试提交 - 数据不会推送到数据库。当时我没有收到任何特定错误,看起来它正在尝试将其推送到数据库,但随后在后台崩溃了,我最终完成了。
这对我来说似乎是部署问题,但我似乎无法弄清楚是哪一个。我正在使用 deployer.org 部署我的应用程序
部署时我收到此错误“无法为可写目录设置正确的权限。您需要将 sudo 的 sudoers 文件配置为不提示输入密码,或手动设置正确的权限。”我没有特别关注它,因为我的网站确实部署了,并且该网站的 1 个用户确实推送到 DB 就好了。
我正在使用 MySql 作为数据库
非常感谢任何帮助。
【问题讨论】:
-
检查你的 var/logs/prod.log 文件,可能会显示一个明确的错误。
-
感谢@Chuck Norris 的提示 - 刚刚转到我的 var/logs/prod.log 文件。我看到的错误是“request CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\UndefinedMethodException:”尝试调用类“AppBundle\Entity\SubscriberDetails”的名为“setId”的未定义方法。你的意思是调用“getId”吗?“”问题是这个错误的 id 是一个唯一标识符,它是在 AppBundle/Controller/Entity/SubscriberDetails 中自动生成的 + 在我的本地主机上一切正常,所以不确定这是什么错误。
-
在 prod 环境中尝试清除缓存:php bin/console c:c -e=prod(或删除 var/cache/ 中的文件夹 prod)
-
您好,检查 Norris,尝试了以上所有方法,但仍然无效。
标签: forms symfony deployment php-deployer