2012-10-21 107 views
0

可能重複:
PHP Warning Permission denied (13) on session_start()PHP沒有會話文件的權限

我有幾個網站一個VPS。它是在home/website1/html等中設置的,而不是正常的var/www/html。

我最近升級了PHP,並收到以下錯誤。

警告:在session_start()[function.session啓動]:打開(在/ var/lib中/ PHP /會話/ sess_3chmto8a8jsp4l4p97fp8jmn54,O_RDWR)失敗:權限被拒絕(13)/home/entry/entry.php在線166

/var/lib/php/session當前爲0770,我可以通過將其更改爲0777來消除錯誤,但感覺應該有更好的方法。

/var/lib/php/session的所有者是root,group是apache。

PHP的用戶(如phpinfo所示)爲「just_me」。我向apache組添加了just_me,但沒有改變。

有什麼建議嗎?謝謝

+0

您需要查看apache用戶而不是PHP(儘管這取決於您的配置)。 – PeeHaa

+0

如有疑問,請諮詢您親自認識並信任的系統管理員。 – hakre

+0

@PeeHaa。任何建議開始尋找Apache用戶?謝謝 – user1032531

回答

0

如果每個虛擬主機/站點都以不同的用戶身份運行PHP,那麼只需確保會話目錄是世界可寫的。在那裏創建的任何會話文件都將由相應的用戶擁有。因此,如果爲用戶bob運行的PHP將會話文件放在那裏,它將只能被bob(chmod 600)讀取和寫入。

如果每個人的PHP會話都以Apache用戶身份運行,那麼將所有會話文件放在一個地方可能會變得不安全,因爲另一個用戶可能會打開並讀取這些文件。

+0

剛剛檢查。每個網站的每個人都使用同一個用戶。 – user1032531

+0

是否擁有同一用戶擁有的所有網站?那是什麼用戶?如果*所有網站都以同一用戶身份運行,那麼共享主機就不安全。在多用戶環境中,PHP應該以用戶擁有腳本的方式運行,這樣任何由PHP讀取/寫入的文件都對其他用戶都是安全的。 – drew010

+0

用戶是「just_me」。既然它是一個VPS,不僅我可以訪問它們嗎? – user1032531