【问题标题】:Cakephp in Vagrant: Unable to create sessions, cache, cached modelsVagrant 中的 Cakephp:无法创建会话、缓存、缓存模型
【发布时间】:2015-09-16 00:14:24
【问题描述】:

我一直在尝试在 vagrant box 中运行一个 Cakephp 应用程序,它配备了 Apache2、mysql、neo4j,以及应用程序运行所需的一切。该站点正在打开,当我尝试在本地登录时,它给了我一堆错误。

这是调试日志:

2015-06-29 19:04:38 Warning: Warning (512): /vagrant/app/tmp/cache/ is not writable in [/vagrant/cake/libs/cache/file.php, line 267]

2015-06-29 19:04:38 Warning: Warning (512): /vagrant/app/tmp/cache/persistent/ is not writable in [/vagrant/cake/libs/cache/file.php, line 267]

2015-06-29 19:04:38 Warning: Warning (512): /vagrant/app/tmp/cache/models/ is not writable in [/vagrant/cake/libs/cache/file.php, line 267]

 2015-06-29 19:04:38 Warning: Warning (2): session_start(): open(/vagrant/app/tmp/sessions/sess_ojvjndme1tqt1bn4dnra8erq96, O_RDWR) failed: Permission denied (13) in [/vagrant/cake/libs/cake_session.php, line 587]

 2015-06-29 19:04:38 Warning: Warning (2): Unknown: open(/vagrant/app/tmp/sessions/sess_ojvjndme1tqt1bn4dnra8erq96, O_RDWR) failed: Permission denied (13) in [Unknown, line 0]

 2015-06-29 19:04:38 Warning: Warning (2): Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/vagrant/app/tmp/sessions) in [Unknown, line 0]

 2015-06-29 19:04:49 Warning: Warning (2): session_start(): open(/vagrant/app/tmp/sessions/sess_p2utf2okm73g71cv2ed361a8c7, O_RDWR) failed: Permission denied (13) in [/vagrant/cake/libs/cake_session.php, line 587]

 2015-06-29 19:04:49 Warning: Warning (2): session_write_close(): open(/vagrant/app/tmp/sessions/sess_p2utf2okm73g71cv2ed361a8c7, O_RDWR) failed: Permission denied (13) in [/vagrant/cake/libs/controller/controller.php, line 694]

我打开了对 /tmp 中所有文件夹的所有权限(通过在 ./tmp 文件夹中执行“sudo chmod -R 777.”),但错误仍然存​​在。不确定为什么应用程序无法在 tmp 目录中创建新的会话文件。

编辑和新开发:所以,我意识到由于代码与主机和 vagrant guest os 共享,代码中的 tmp 文件夹实际上已安装,这可能是原因对于未授予权限的错误。

现在问题已简化为如何在 /vagrant/ 文件夹之外创建一个“tmp”文件夹,并将所有日志、缓存、会话等写入虚拟操作系统文件系统内的该外部文件夹中?

我已尝试使用以下建议:http://singletonio.blogspot.in/2009/01/changing-tmp-directory-of-cakephp-so-it.html

但是,新的日志、会话并没有写入 ~/tmp(这是我设置缓存、会话、日志文件夹的地方)?

你能帮帮我吗?

【问题讨论】:

  • 有没有你已经实现的解决方案,我在尝试安排一个虚拟机在 Vagrant 上的 CakePHP+PostgreSQL 上开发时遇到同样的问题

标签: php session cakephp caching vagrant


【解决方案1】:

我所做的是将开发服务器中的 Apache 用户从“www-data”更改为“vagrant”。

编辑 /etc/apache2/envvars:

export APACHE_RUN_USER=vagrant
export APACHE_RUN_GROUP=vagrant

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多