SSHからマイグレーションなどapp/consoleのコマンドを実行しようとした際に、ドクトリンのキャッシュファイルを書き込めないために発生するエラーです。

通常app/cache/doctrine/proxiesは所有者もグループもapacheとなるため、コマンドラインから他のユーザーでapp/consoleを実行した場合に上記エラーが発生します。

apacheユーザーとしてマイグレーションを実行するか、SSHでログインしているユーザーに権限を与えてやることで解決可能です。

PHP Fatal error: Uncaught Doctrine\Common\Proxy\Exception\UnexpectedValueException: Your proxy directory “/var/www/src/Eccube/../../app/cache/doctrine/proxies” must be writable in /var/www/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php:40

上のエラーが発生した時はapp/cache/doctrine/proxiesの所有者や権限を確認して見てください。


関連するカスタマイズ

decimalタイプのオプション、precisionとscaleとは?... テーブルの定義ファイル(dcm.yml)を見てみると、price02やtaxなど金額関係のカラムにはdecimal型が使われていることが分かります。 ProductClass.dcm.ymlには下記のように記載があります。 price02: ...
マイグレーションでショップ設定を変更・共有する方法... 弊社ではショップ設定を変更する時は必ずマイグレーションファイルの実行により行います。 例えば初期状態では有効になっている仮会員を無効にしたり、自動ログイン機能をONにすることを前提にカスタマイズを行なっていく場合などです。 $ php app/console migrations:gen...
1サイトから複数のデータベースに接続する方法... 複数のEntityManagerを利用し、複数のデータベースからデータを取得したり更新する方法はないのかというご質問をよくお受けします。 既存サイトとの連携やモールショップ化では頻繁に必要となってくる技術かと思います。 なかなか説明するのは難しいのですが、Doctrineの設定上でア...
SQL(Doctrine)のキャッシュ時間を変更してページ高速化... Doctrineでは次のようにして検索結果をキャッシュしておくことができます。商品数やカテゴリー数が多い場合は一気にページが高速化するサイトもありますので場合によってはたいへん有用です。 $qb->getQuery() ->useResultCache(true, $l...