私は CakePHP アプリケーションを開発しようとしており、Vagrant を使用してテスト環境を実行しています。ただし、ブラウザでこのエラーが発生していました
Warning (2):
session_start() [http://php.net/function.session-start]:
open(/var/lib/php/session/sess_speva7ghaftl8n98r9id5a7434, O_RDWR) failed:
Permission denied (13) [CORE/Cake/Model/Datasource/CakeSession.php, line 614]
VMにSSHして実行することで、エラーを取り除くことができます
[vagrant@myserver ~]$ sudo su -
[root@myserver ~]# chown -R vagrant. /var/lib/php/session/
VMを再起動するたびにこれを行う必要はありませんので、これをmyserver.ppに追加してみました
exec { 'chown':
command => 'chown -R vagrant. /var/lib/php/session/',
path => '/bin',
user => 'root'
}
しかし、VMの起動中にエラーが発生します...
err:
/Stage[main]/Myserver/Exec[chown]/returns: change from notrun to 0 failed:
chown -R vagrant. /var/lib/php/session/
returned 1 instead of one of [0] at /tmp/vagrant-puppet/manifests/myserver.pp:35
インターネットで使用方法の有用な例を見つけることができませんでしたexec
。また、Vagrant や Puppet を使用したことがないため、上記のコードは私が思いついた最良の推測にすぎません。単純な修正である場合は申し訳ありません。これを機能させるには。
which chown
パスが であることを vm 内で使用して確認し/bin
ました。コマンドは、自分で vm で実行した場合とまったく同じです。問題を引き起こしているのはユーザーだと思います。私はその線を正しく持っていますか?.pp ファイルからルートとしてコマンドを実行することさえ可能ですか?