PHP会话不在docker上工作

时间:2017-12-28 08:25:19

标签: php session docker file-permissions

我正在尝试设置PHP应用程序,但会话处理似乎有些问题。

Here's my <code>php.ini</code> session settings (run fro container level)

正如您所看到的,配置非常标准。我检查了容器中的/tmp权限并获得了

root@2217e6d458ad:/# ls -ld /tmp
drwxrwxrwt 1 root root 4096 Dec 28 08:03 /tmp

我还在运行时检查了片段:

$file = fopen('/tmp/foo.log', 'w');
fwrite($file, 'test'.PHP_EOL);
fclose($file);
echo 'path: '. session_save_path().'<br>';
var_dump(is_writable(session_save_path()));

现在,文件/tmp/foo.log已创建,path为空,var_dump结果为bool(false)

我还应该检查什么?

1 个答案:

答案 0 :(得分:0)

这个案例和我一样,我确实解决了这个问题 我使用了 bitnami 存储库 codeigniter 图像

如果你和我一样,你可以在 dockerfile 上添加该命令

RUN echo "session.save_path=\"/tmp\"" >> /opt/bitnami/php/lib/php.ini

或者可以在php容器内核终端输入

#$ echo "session.save_path=\"/tmp\"" >> /opt/bitnami/php/lib/php.ini

/opt/bitnami/php/lib/php.ini 是php配置文件夹,可以在浏览器上运行查看php.ini文件在哪里

<?php phpinfo() ?>

您可以检查并运行我的图像 https://hub.docker.com/r/ranur/codeigniter