2013-03-24 83 views
3

我試圖把我的php會話保存在ramdisk上。我有一個權限問題,但我不明白是什麼問題。保存在ramdisk中的php會話

  1. 我有ramdisk的:

    /dev/ram0 407M 2.4M 404M 1% /var/lib/php/session/ramd

  2. 我的權限:

    drwxrwx---. 3 root apache 1024 Mar 24 01:53 ramd

  3. 我的錯誤:

    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

  4. 在php.ini,session.save_path的變量它設置爲"/var/lib/php/session"

  5. 在我的劇本我的session.save_path設置爲"var/lib/php/session/ramd"

如果我umont我創建ramdisk的,我能救我的會話在/ rand文件夾中。我掛載..我不能。我也嘗試搭配chmod根:根/阿帕奇:阿帕奇使用chmod 0777 1777現在是0770.

我使用:CentOS的6.4,PHP 5.3.3,阿帕奇/ 2.2.15

任何人可以幫助我問題??

LE:

[[email protected] ~]# 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 

[[email protected] ~]# ps aux | grep php 
root  3132 0.0 0.0 103244 868 pts/0 S+ 02:54 0:00 grep php 
+0

你嘗試你寫下什麼,或者你真的這樣做:'喬敦 - R的root:root/var/lib/php/session/ramd'和'chmod -R 0777/var/lib/php/session/ramd'? – 2013-03-24 09:25:00

+0

是的,我試着寫一個簡短的版本:)。 'chown -R root:root/var/lib/php/session/ramd chmod -R 0777/var/lib/php/session/ramd'和'chown -R apache:apache/var/lib/php/session/ramd chmod -R 0777/var/lib/php/session/ramd' – Crsr 2013-03-24 09:41:18

+0

PHP是以cgi進程運行還是作爲apache模塊運行?你能顯示'ps aux'命令的輸出,只有apache/php進程嗎? – Alexey 2013-03-24 09:50:37

回答

0

執行以下,看是否SELinux的是在執行模式:

# sestatus 

如果是這樣,你可能想嘗試通過運行下面的根禁用SELinux的(或與sudo):

# setenforce 0 

這將使SELinux停止執行任何策略。如果解決了這個問題,您將不得不關閉SELinux或增加策略以允許這個新路徑正確工作。如果確實如此,請參閱https://serverfault.com/a/323528/165777瞭解如何執行該步驟的一些信息!

另外,如果未造成衝擊和/或要重新啓用SELinux的,執行:

# setenforce 1