evenrain
|
 |
« 於: 七月 01, 2005, 01:25:48 下午 » |
|
最近準備搬家到 DreamHost,於是先在那重新安裝一個 plog temp_folder 為 ./tmp 權限已設為 777 base_url 為 blog.evenrain.org 已修改 .htaccess 如下 RewriteBase /
ErrorDocument 401 /error.php ErrorDocument 403 /error.php ErrorDocument 404 /error.php 連線到 http://blog.evenrain.org/post/1/1 出現 Exception message: session_start(): open(/tmp/sess_deohuoa1qjpt812grc9hi4dkf2, O_RDWR) failed: Permission denied (13) Error code: 2 -- Backtrace -- /home/.mags/evenrain/blog.evenrain.org/class/net/http/session/sessionmanager.class.php(41): session_start /home/.mags/evenrain/blog.evenrain.org/index.php(33): sessionmanager.init /home/.mags/evenrain/blog.evenrain.org/post(21): include_once
Exception message: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/.mags/evenrain/blog.evenrain.org/class/object/exception.class.php:37) Error code: 2 -- Backtrace -- /home/.mags/evenrain/blog.evenrain.org/class/net/http/session/sessionmanager.class.php(41): session_start /home/.mags/evenrain/blog.evenrain.org/index.php(33): sessionmanager.init /home/.mags/evenrain/blog.evenrain.org/post(21): include_once
Exception message: Cannot modify header information - headers already sent by (output started at /home/.mags/evenrain/blog.evenrain.org/class/object/exception.class.php:37) Error code: 2 -- Backtrace -- /home/.mags/evenrain/blog.evenrain.org/class/view/view.class.php(172): header /home/.mags/evenrain/blog.evenrain.org/class/view/view.class.php(309): viewarticleview.sendcontenttype /home/.mags/evenrain/blog.evenrain.org/class/view/smartyview.class.php(163): view.render /home/.mags/evenrain/blog.evenrain.org/class/view/blogview.class.php(224): smartyview.render /home/.mags/evenrain/blog.evenrain.org/class/view/viewarticleview.class.php(73): blogview.render /home/.mags/evenrain/blog.evenrain.org/class/controller/controller.class.php(325): viewarticleview.render /home/.mags/evenrain/blog.evenrain.org/index.php(44): blogcontroller.process /home/.mags/evenrain/blog.evenrain.org/post(21): include_once
open(/tmp/sess_deohuoa1qjpt812grc9hi4dkf2, O_RDWR) failed: Permission denied (13) Error code: 2 -- Backtrace --
Exception message: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) Error code: 2 -- Backtrace --
這是指要請 DreamHost 開放 /tmp 的存取權限嗎?
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #1 於: 七月 01, 2005, 02:26:15 下午 » |
|
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #2 於: 七月 01, 2005, 02:31:24 下午 » |
|
也許你可以列出安裝時的設定,尤其是有關 session 的部分,讓大家參考一下。
|
|
|
已記錄
|
|
|
|
evenrain
|
 |
« 回覆文章 #3 於: 七月 01, 2005, 02:37:30 下午 » |
|
發問前我已經找過先前的文章了, 你提到的那篇, 我有講 blog.evenrain.net/tmp 權限已開成 777 只是我不確定訊息指的是不是我自己的 tmp folder 或是系統的 folder 另外,我是安裝在虛擬主機上 (DreamHost) 所以無法列出 Session 部分的設定...
|
|
|
已記錄
|
|
|
|
evenrain
|
 |
« 回覆文章 #4 於: 七月 01, 2005, 03:31:19 下午 » |
|
搞不太懂 DreamHost 的 "All CGI should run as user: " 選項.. 因為簡潔網址一直搞不定,所以我試著把 ./tmp 裡的資料全部刪除 看它重建之後會不會比較好一點,結果..當然還是一樣 XD
不過卻意外的發現,他在 ./tmp 裡建的檔案有時候是用我的帳號建 有時候卻是用 dhapache 這個 user 可是我又有勾選 Run PHP as CGI 這個選項... 搞的現在 ./tmp/1 刪不掉,已經回報客服了 orz
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #5 於: 七月 01, 2005, 11:07:44 下午 » |
|
我不清楚簡潔網址的作用,沒用過 :P 不過那個討論串中 Mark 有提到 你的 /var/lib/php/session 有寫入的權限嗎?可以把它改成 777 試試看嗎?
Mark 問題是在虛擬主機我們可能沒有權限改....(我還沒嘗試過啦) 安裝時,設定 session 應該可以不用寫到目錄吧(好像可以存到資料庫),建議存到資料庫,上次裝已經有段時間了,希望我沒記錯。:-)
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #6 於: 七月 02, 2005, 10:16:14 上午 » |
|
在討論串中; http://forum.lifetype.org.tw/index.php?topic=565.0&highlight=session裡面的第一行用的是絕對路徑 Exception message: session_start(): open(/var/lib/php/session/sess_d6e9670ee91b65792e6bbda147aa380b, O_RDWR) failed: Permission denied (13) 而你的第一行如果也是絕對路徑 Exception message: session_start(): open(/tmp/sess_deohuoa1qjpt812grc9hi4dkf2, O_RDWR) failed: Permission denied (13) 這個 /tmp 可能就不是指定義在自己本身user目錄下的 ./tmp了,所以這也可能是 session 存放路徑的設定問題。 這只是我的推測,還要請較其他高手 
|
|
|
已記錄
|
|
|
|
pest
|
 |
« 回覆文章 #7 於: 七月 02, 2005, 10:38:11 下午 » |
|
原 po 應該把全域設定中 temp_folder 設定為 ./tmp 就可以解決了。
|
|
|
已記錄
|
|
|
|
evenrain
|
 |
« 回覆文章 #8 於: 七月 03, 2005, 12:06:06 上午 » |
|
原 po 應該把全域設定中 temp_folder 設定為 ./tmp 就可以解決了。 這個...我之前已經提到過.. temp_folder 為 ./tmp 權限已設為 777
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #9 於: 七月 03, 2005, 01:21:00 上午 » |
|
全域設定中的這項呢?是否留空?
session_save_path 此設定將使用PHP的session_save_path()函數,來更改pLog存放session的資料夾。請確定該資料夾可以透過網站伺服器進行寫入動作。如果你要使用PHP預設的session存放路徑,請將此設定空白。
|
|
|
已記錄
|
|
|
|
evenrain
|
 |
« 回覆文章 #10 於: 七月 04, 2005, 07:36:11 上午 » |
|
全域設定中的這項呢?是否留空?
session_save_path 此設定將使用PHP的session_save_path()函數,來更改pLog存放session的資料夾。請確定該資料夾可以透過網站伺服器進行寫入動作。如果你要使用PHP預設的session存放路徑,請將此設定空白。 一語驚醒夢中人... 我把他改成我自己的目錄,並且 chmod 成 777 後就可以了  不過遇到的新問題是... 雖然我目錄開成 777,不過...新產生的 session 檔權限只有 600... 我總不可能手動一個一個改吧 orz 是說,這個問題應該是要問系統商就是...
|
|
|
已記錄
|
|
|
|
markwu
|
 |
« 回覆文章 #11 於: 七月 05, 2005, 11:27:30 上午 » |
|
我目前是用 dreamhost 來做別的事,還沒架過 pLog 呢。看起來我得試試看了。目前幫不上忙,抱歉 Mark
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #12 於: 八月 11, 2005, 10:47:05 下午 » |
|
由於我本身也用 DreamHost,這幾天做了些測試,結論是由於產生的 Session 變數權限是 600,也不可能一個個手動改(手動改成 777 就可以了)。 因此,考慮加一段程式將 Session 用 Chmod 改變權限成為 777, 但...session 存在檔案之中,檔名以 sess_ 為開頭,後面接上數字與文字交錯。這個存 session 的檔名是在哪裡決定的呢? 難道是 session_start(),有誰可以告訴我嗎? 如果是 session_start() 決定的,那請問這個規則要去哪裡找呢? 如果可以找到答案,或許就解決這個問題了。 
|
|
|
已記錄
|
|
|
|
WhiteCloud
|
 |
« 回覆文章 #13 於: 八月 12, 2005, 08:03:56 下午 » |
|
簡潔網址測試成功,太高興了 只要在 index.php 中,在這兩行的下方: // initialize the session SessionManager::init(); 加上兩行程式碼: if (fileperms(PLOG_CLASS_PATH."tmp/sess_".session_id()) == 33152) chmod(PLOG_CLASS_PATH."tmp/sess_".session_id(),0777); 這樣就 OK 了  解決了 session 的問題後,連自訂網址的功能也沒問題,只剩下 Apache ModRewite 點到有圖片的文章會有問題,沒圖片的文章都正常。
|
|
|
已記錄
|
|
|
|
markwu
|
 |
« 回覆文章 #14 於: 八月 15, 2005, 10:58:52 上午 » |
|
簡潔網址測試成功,太高興了 只要在 index.php 中,在這兩行的下方: // initialize the session SessionManager::init(); 加上兩行程式碼: if (fileperms(PLOG_CLASS_PATH."tmp/sess_".session_id()) == 33152) chmod(PLOG_CLASS_PATH."tmp/sess_".session_id(),0777); 這樣就 OK 了  解決了 session 的問題後,連自訂網址的功能也沒問題,只剩下 Apache ModRewite 點到有圖片的文章會有問題,沒圖片的文章都正常。 還有一個問題, dreamhost 把 allow_url_fopen 關了,所以 flickr plugin 可能不能用,要參考 http://forum.lifetype.org.tw/index.php?topic=996.0&highlight=curl 來修改。 我正在改寫,希望能不要用到 curl .. 因為一樣的問題,不是每個 server 都有 curl 阿! Mark
|
|
|
已記錄
|
|
|
|
|