CakePHPにおいて、app/tmpディレクトリはWebサーバからの書き込みが
出来るようにしておく必要があるので、webサーバの実行ユーザを知るために、
whoami.phpファイルを作成して、以下を記述します。
<?php echo exec('whoami');?>
そして、ブラウザでアクセスすると
root
と表示されました。
apacheで構築した時は、ユーザはapacheだったので、今回の場合だと、ユーザはnginxになると思いましたが違いました。
apache+phpのときとは異なるようで、
さすがにrootで実行するのはよろしくないだろうと思いましたので、
HHVM-FastCGIの実行を、rootで実行していたのを、
適切なユーザで実行するようにします。
今回は、デフォルトユーザの、vagrantユーザで実行しますので、
$ hhvm -m server -vServer.Type=fastcgi -vServer.Port=9000
として、再度、whoami.phpを確認すると、
vagrant
と表示されました。
そうすると、今度は、CakePHPのサイト表示において、
Permission deniedといったWarningが出ます。
Not a valid stream resource
_cake_model_ cache was unable to write ...
CakePHPのapp/tmp/Cache内のファイルがrootで作成されているため、
変更したvagrantユーザでは扱えないといったメッセージです。
ですので、、CakePHPのapp/tmpディレクトリを、
$ sudo chown -R vagrant. app/tmp
として、vagrantで書き込みできるようにします。
0 件のコメント:
コメントを投稿