読者です 読者をやめる 読者になる 読者になる

It's raining cats and dogs.

無駄なことなんてないはず

キャッシュ(PHP)ファイルがあってpropel-generate-crudができなかったんすよ

PHP Symfony

前回の掲示板アプリにCRUDをつけてみようと思ってsymfony propel-generate-crudしたら

Failed to write cache file "/home/user/webapps/bbsproject/cache/bbs/dev/config/config_databases.yml.php" generated from configuration file "config/databases.yml".

とかいわれた。とりあえず上記のconfig_databases.yml.phpってファイルの権限を見てみると、ファイルの所有者がdaemonになってた。
あぁ、そういうことですか。
Symfonyはデフォルトでは性能向上のためにキャッシュファイルとか(ここではdatabases.ymlの内容をハッシュとして扱うことができるPHPファイル)をいろいろ作ってくれるみたい。なのでブラウザからアクセスしたときにキャッシュファイルを生成していた。
んで、generateするときにも同じようにいろいろキャッシュファイルを生成する。
自分の環境は、開発ディレクトリのwebディレクトリにapacheのバーチャルホストにDcumentRootを設定しているので、ブラウザからアクセスするとapacheを動かしているdaemonアカウントでキャッシュファイルが生成される。でもコマンドラインからgenerateするときは自分のアカウントでキャッシュファイルを生成しようとするから上書きできなかった。
ということね。なので

symfony cc

して、generateしなおしたらうまくいった。
てか、毎回ccせなかんのかね?だとしたら結構めんどいな。というよりも開発環境の作り方が良くないのかね?みんなどうしてるんだろ?