我正在尝试在ramdisk上保存我的php会话。我有一个许可问题,但我看不出它的问题在哪里。
我有ramdisk:
/dev/ram0 407M 2.4M 404M 1% /var/lib/php/session/ramd
我有权限:
drwxrwx---. 3 root apache 1024 Mar 24 01:53 ramd
我的错误:
Warning: session_start(): open(/var/lib/php/session/ramd/sess_b0ko6hl3p6ojj2ot3qfqvm9km1, O_RDWR) failed: Permission denied (13) in /var/www/html/index.php on line 3 Warning: Unknown: open(/var/lib/php/session/ramd/sess_b0ko6hl3p6ojj2ot3qfqvm9km1, 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/session/ramd) in Unknown on line 0
在php.ini中,session.save_path变量设置为"/var/lib/php/session"
"var/lib/php/session/ramd"
如果我创建了我创建的ramdisk,我可以将我的会话保存在/ rand文件夹中。它我坐...我不能。我也试过chmod root:root / apache:apache with chmod 0777 1777.现在它是0770。
我使用的是:CentOS 6.4,PHP 5.3.3,Apache / 2.2.15
有人可以帮我解决这个问题吗?
LE
[root@localhost ~]# ps aux | grep apache
apache 2355 0.0 0.4 394868 7840 ? S 01:53 0:00 /usr/sbin/httpd
apache 2356 0.0 0.4 394876 7844 ? S 01:53 0:00 /usr/sbin/httpd
apache 2357 0.0 0.4 394876 7824 ? S 01:53 0:00 /usr/sbin/httpd
apache 2358 0.0 0.4 394876 7816 ? S 01:53 0:00 /usr/sbin/httpd
apache 2360 0.0 0.4 394876 7900 ? S 01:53 0:00 /usr/sbin/httpd
apache 2361 0.0 0.4 394876 7800 ? S 01:53 0:00 /usr/sbin/httpd
apache 2362 0.0 0.4 394876 7844 ? S 01:53 0:00 /usr/sbin/httpd
apache 2363 0.0 0.4 394868 7716 ? S 01:53 0:00 /usr/sbin/httpd
root 3119 0.0 0.0 103248 868 pts/0 S+ 02:52 0:00 grep apache
[root@localhost ~]# ps aux | grep php
root 3132 0.0 0.0 103244 868 pts/0 S+ 02:54 0:00 grep php
答案 0 :(得分:0)
执行以下操作以查看SELinux是否处于强制执行模式:
# sestatus
如果是这样,您可能想尝试通过以root身份运行以下(或使用sudo)来禁用SELinux:
# setenforce 0
这将使SELinux停止执行任何政策。如果这样可以解决问题,则必须关闭SELinux或扩充策略以允许此新路径正确运行。如果确实达到了这一点,请参考https://serverfault.com/a/323528/165777以获取有关如何执行该步骤的一些信息!
此外,如果这没有产生影响和/或您想重新启用SELinux,请执行:
# setenforce 1