2016-09-04 15 views
-1

私は現在、symfony 3のサブスクリプションフォームを作成しています。いったんプロダクションに導入すると、最初は正常に動作します。データは、最初のサブスクライバの場合と同じようにデータベースにプッシュされます。しかし、私は、ウェブサイトを閉じると、再び開いて、フォームを完了し、それを提出しよう - データがDBにプッシュされていません。私はその時点で特定のエラーを取得しない、それはデータベースにプッシュしようとしているようだが、その後、何かがバックグラウンドでクラッシュし、私は最後に完了します。symfony 3のフォームはデータベースに永続しません

私には配備上の問題があるようですが、どのようなものか把握できないようです。

私はこのエラーを受けていました。「書込み可能なディレクトリに対して正しいアクセス許可を設定できません。パスワードの入力を求めないようにsudoersファイルを構成するか、手動で正しいアクセス許可を設定する必要があります。私はウェブサイトが展開され、ウェブサイトの1人のユーザがDBにプッシュしたので、特別な注意を払っていませんでした。

私はどのような援助がずっとにappriciatedされているデータベース

としてMySQLを使用しています。

+0

チェック私のためのトリックをした

$query = $em ->createQuery('SELECT MAX(s.id) FROM AppBundle:SubscriberDetails s'); $newSubscriber ->setId($query->getSingleScalarResult() + 1); 

、多分明示的なエラーその中に表示されます。 –

+0

チップのおかげで@チャックノリス - ちょうど私のvar/logs/prod.logファイルに乗った。私がそこに見ているエラーは、 "CRITICAL:Uncaught PHP Exception Symfony \ Component \ Debug \ Exception \ UndefinedMethodException:"クラス "AppBundle \ Entity \ SubscriberDetails"の "setId"という未定義のメソッドを呼び出そうとしました。あなたは "getId"を呼び出すことを意味しましたか? ""問題は、このエラーについては、AppBundle/Controller/Entity/SubscriberDetails +ですべて生成された一意の識別子です。エラーはここにあります。 –

+0

prod環境でキャッシュをクリアしてください:php bin/console c:c -e = prod(またはvar/cache /内のprodフォルダを削除してください) –

答えて

0

最後にこれを理解しました。私のSubscriberDetails Entityでは、IDが自動生成されるように設定されていました(例:@ORM\GeneratedValue(strategy="AUTO"))。理由はわかりませんが、devにはうまくいきましたが、prodではうまく機能していないことがわかります。だから、これに対する解決策は、エンティティレベルから自動生成を削除して、を介してコントローラでそれをシミュレートすることでした:あなたのVAR /ログ/ prod.logファイルを

関連する問題