LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: evenrain 於 七月 01, 2005, 01:25:48 下午



主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: 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 的存取權限嗎?


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud七月 01, 2005, 02:26:15 下午
建議發問前可以用搜尋以前的討論,說不定就有答案了。

請看看這個有沒有幫助:
http://forum.lifetype.org.tw/index.php?topic=565.0&highlight=session


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud七月 01, 2005, 02:31:24 下午
也許你可以列出安裝時的設定,尤其是有關 session 的部分,讓大家參考一下。


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: evenrain七月 01, 2005, 02:37:30 下午
發問前我已經找過先前的文章了,
你提到的那篇,
我有講 blog.evenrain.net/tmp 權限已開成 777
只是我不確定訊息指的是不是我自己的 tmp folder 或是系統的 folder
另外,我是安裝在虛擬主機上 (DreamHost) 所以無法列出 Session 部分的設定...


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: evenrain七月 01, 2005, 03:31:19 下午
搞不太懂 DreamHost 的  "All CGI should run as user: " 選項..
因為簡潔網址一直搞不定,所以我試著把 ./tmp 裡的資料全部刪除
看它重建之後會不會比較好一點,結果..當然還是一樣 XD

不過卻意外的發現,他在 ./tmp 裡建的檔案有時候是用我的帳號建
有時候卻是用 dhapache 這個 user
可是我又有勾選 Run PHP as CGI 這個選項...
搞的現在 ./tmp/1 刪不掉,已經回報客服了 orz


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud七月 01, 2005, 11:07:44 下午
我不清楚簡潔網址的作用,沒用過 :P

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

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

Mark


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

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


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud七月 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 存放路徑的設定問題。

這只是我的推測,還要請較其他高手 :-)


主題: Re: 請教在 DreamHost 使用簡短網址/自訂網址
作者: pest七月 02, 2005, 10:38:11 下午
原 po 應該把全域設定中 temp_folder 設定為 ./tmp 就可以解決了。


主題: Re: 請教在 DreamHost 使用簡短網址/自訂網址
作者: evenrain七月 03, 2005, 12:06:06 上午
引用自: pest
原 po 應該把全域設定中 temp_folder 設定為 ./tmp 就可以解決了。


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

引用自: evenrain
temp_folder 為 ./tmp 權限已設為 777


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud七月 03, 2005, 01:21:00 上午
全域設定中的這項呢?是否留空?

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


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: evenrain七月 04, 2005, 07:36:11 上午
引用自: WhiteCloud
全域設定中的這項呢?是否留空?

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


一語驚醒夢中人... :-$
我把他改成我自己的目錄,並且 chmod 成 777 後就可以了  :-D

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

是說,這個問題應該是要問系統商就是...


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: markwu七月 05, 2005, 11:27:30 上午
我目前是用 dreamhost 來做別的事,還沒架過 pLog 呢。看起來我得試試看了。目前幫不上忙,抱歉  :-P

Mark


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud八月 11, 2005, 10:47:05 下午
由於我本身也用 DreamHost,這幾天做了些測試,結論是由於產生的 Session 變數權限是 600,也不可能一個個手動改(手動改成 777 就可以了)。

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

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

如果可以找到答案,或許就解決這個問題了。 :-)


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: WhiteCloud八月 12, 2005, 08:03:56 下午
簡潔網址測試成功,太高興了 :-D

只要在 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 使用簡短網址/自訂網址
作者: markwu八月 15, 2005, 10:58:52 上午
引用自: WhiteCloud
簡潔網址測試成功,太高興了 :-D

只要在 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


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: junyang296八月 19, 2005, 01:11:06 下午
根据你的说明,在index.php里加了两行代码
出错了:Exception message: session_start(): open(/tmp/sess_97e0d4e63dca2ff5e7692ad00407e0a8, O_RDWR) failed: Permission denied (13)
Error code: 2
-- Backtrace --
/home/.mags/shallgo/shallgo.net/saplm/class/net/http/session/sessionmanager.class.php(37): session_start
/home/.mags/shallgo/shallgo.net/saplm/index.php(30): sessionmanager.init

Exception message: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/.mags/shallgo/shallgo.net/saplm/class/object/exception.class.php:37)
Error code: 2
-- Backtrace --
/home/.mags/shallgo/shallgo.net/saplm/class/net/http/session/sessionmanager.class.php(37): session_start
/home/.mags/shallgo/shallgo.net/saplm/index.php(30): sessionmanager.init

Exception message: fileperms(): Stat failed for /home/.mags/shallgo/shallgo.net/saplm/tmp/sess_97e0d4e63dca2ff5e7692ad00407e0a8 (errno=2 - No such file or directory)
Error code: 2
-- Backtrace --
/home/.mags/shallgo/shallgo.net/saplm/index.php(31): fileperms

我现在管理面板也进不去了,说我权限不够,网址方式也更改不回来了,怎么办啊?


主題: 請教在 DreamHost 使用簡短網址/自訂網址
作者: junyang296八月 19, 2005, 01:49:02 下午
搞定了,哈哈