【发布时间】:2013-12-27 01:04:22
【问题描述】:
我目前在 AWS EC2 实例上开发了一个 php 应用程序,但我决定将其移至 Elastic Beanstalk 以利用自动缩放功能。
虽然大部分应用程序完美地迁移到了新的 Elastic Beanstalk EC2 实例,但我遇到了关于 php 会话的问题。好像是php session保存路径不可写,根据php生成的如下信息:
Warning: Unknown: open(/var/lib/php/5.5/session/sess_uc1dpvmoq5fikcv0q2kogker15, O_RDWR)
failed: Permission denied (13) in Unknown on line 0 Warning: Unknown: Failed to write
session data (files). Please verify that the current setting of session.save_path is
correct (/var/lib/php/5.5/session) in Unknown on line 0
有什么办法可以在不修改 PHP.ini 或 CHMODing 的情况下解决这个问题?我想让我的应用程序在默认的 Elastic Beanstalk EC2 实例上运行,而不使用自定义 AMI。我希望默认情况下应该允许如此简单地使用php会话!
【问题讨论】:
-
默认情况下,php.ini 将会话目录设置为 /tmp,但 Elastic Beanstalk 上的最新 PHP 容器开始将其指向上面提到的 /var...,但没有适当的权限。这是 AWS 表示他们将在未来更新中修复的已知错误。目前,您最好的选择(对于本地会话)是使用 session_save_path() 在您的应用程序中尽早设置它,但您会遇到下面@hek2mgl 提到的多个服务器的问题。
-
是否有指向 AWS 承认此问题的链接?
标签: php session amazon-web-services amazon-elastic-beanstalk