歡迎光臨, 訪客. 請先 登入註冊一個帳號.
四月 27, 2024, 05:07:22 上午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  請教在 DreamHost 使用簡短網址/自訂網址 « 上篇主題 下篇主題 »
頁: [1] 2
作者 主題: 請教在 DreamHost 使用簡短網址/自訂網址  (閱讀 26223 次)
evenrain
初級會員
**
文章: 98



檢視個人資料
« 於: 七月 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
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #1 於: 七月 01, 2005, 02:26:15 下午 »

建議發問前可以用搜尋以前的討論,說不定就有答案了。

請看看這個有沒有幫助:
http://forum.lifetype.org.tw/index.php?topic=565.0&highlight=session
已記錄
WhiteCloud
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #2 於: 七月 01, 2005, 02:31:24 下午 »

也許你可以列出安裝時的設定,尤其是有關 session 的部分,讓大家參考一下。
已記錄
evenrain
初級會員
**
文章: 98



檢視個人資料
« 回覆文章 #3 於: 七月 01, 2005, 02:37:30 下午 »

發問前我已經找過先前的文章了,
你提到的那篇,
我有講 blog.evenrain.net/tmp 權限已開成 777
只是我不確定訊息指的是不是我自己的 tmp folder 或是系統的 folder
另外,我是安裝在虛擬主機上 (DreamHost) 所以無法列出 Session 部分的設定...
已記錄
evenrain
初級會員
**
文章: 98



檢視個人資料
« 回覆文章 #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
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #5 於: 七月 01, 2005, 11:07:44 下午 »

我不清楚簡潔網址的作用,沒用過 :P

不過那個討論串中 Mark 有提到

引用
你的 /var/lib/php/session 有寫入的權限嗎?可以把它改成 777 試試看嗎?

Mark


問題是在虛擬主機我們可能沒有權限改....(我還沒嘗試過啦)

安裝時,設定 session 應該可以不用寫到目錄吧(好像可以存到資料庫),建議存到資料庫,上次裝已經有段時間了,希望我沒記錯。:-)
已記錄
WhiteCloud
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #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
新手見習
*
文章: 30


檢視個人資料 個人網站
« 回覆文章 #7 於: 七月 02, 2005, 10:38:11 下午 »

原 po 應該把全域設定中 temp_folder 設定為 ./tmp 就可以解決了。
已記錄
evenrain
初級會員
**
文章: 98



檢視個人資料
« 回覆文章 #8 於: 七月 03, 2005, 12:06:06 上午 »

引用自: pest
原 po 應該把全域設定中 temp_folder 設定為 ./tmp 就可以解決了。


這個...我之前已經提到過..

引用自: evenrain
temp_folder 為 ./tmp 權限已設為 777
已記錄
WhiteCloud
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #9 於: 七月 03, 2005, 01:21:00 上午 »

全域設定中的這項呢?是否留空?

session_save_path
此設定將使用PHP的session_save_path()函數,來更改pLog存放session的資料夾。請確定該資料夾可以透過網站伺服器進行寫入動作。如果你要使用PHP預設的session存放路徑,請將此設定空白。
已記錄
evenrain
初級會員
**
文章: 98



檢視個人資料
« 回覆文章 #10 於: 七月 04, 2005, 07:36:11 上午 »

引用自: WhiteCloud
全域設定中的這項呢?是否留空?

session_save_path
此設定將使用PHP的session_save_path()函數,來更改pLog存放session的資料夾。請確定該資料夾可以透過網站伺服器進行寫入動作。如果你要使用PHP預設的session存放路徑,請將此設定空白。


一語驚醒夢中人... 害羞
我把他改成我自己的目錄,並且 chmod 成 777 後就可以了  開懷大笑

不過遇到的新問題是...
雖然我目錄開成 777,不過...新產生的 session 檔權限只有 600...
我總不可能手動一個一個改吧 orz

是說,這個問題應該是要問系統商就是...
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #11 於: 七月 05, 2005, 11:27:30 上午 »

我目前是用 dreamhost 來做別的事,還沒架過 pLog 呢。看起來我得試試看了。目前幫不上忙,抱歉  吐舌頭

Mark
已記錄

WhiteCloud
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #12 於: 八月 11, 2005, 10:47:05 下午 »

由於我本身也用 DreamHost,這幾天做了些測試,結論是由於產生的 Session 變數權限是 600,也不可能一個個手動改(手動改成 777 就可以了)。

因此,考慮加一段程式將 Session 用 Chmod 改變權限成為 777, 但...session 存在檔案之中,檔名以 sess_ 為開頭,後面接上數字與文字交錯。這個存 session 的檔名是在哪裡決定的呢? 難道是 session_start(),有誰可以告訴我嗎?

如果是 session_start() 決定的,那請問這個規則要去哪裡找呢?

如果可以找到答案,或許就解決這個問題了。 微笑
已記錄
WhiteCloud
初級會員
**
文章: 51


檢視個人資料 個人網站
« 回覆文章 #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
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #14 於: 八月 15, 2005, 10:58:52 上午 »

引用自: WhiteCloud
簡潔網址測試成功,太高興了 開懷大笑

只要在 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
已記錄

頁: [1] 2
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  請教在 DreamHost 使用簡短網址/自訂網址 « 上篇主題 下篇主題 »
    前往: