LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: Blowfish 於 三月 16, 2005, 09:15:31 下午



主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Blowfish三月 16, 2005, 09:15:31 下午
真的沒辦法了, 試了好多次, 只好厚著臉皮來這裏求救.

我在虛擬主機上, 權限也設好了, wizard.php也都跑過了, 資料庫的tables的也被建立好了, 但在進到blog首頁或admin.php時, 都會出現下面的訊息:

Exception message: is_readable(): open_basedir restriction in effect. File(/usr/share/pear/./templates//./templates//blueish/header.template) is not within the allowed path(s): (/home/httpd/vhosts/3dpapermodel.w-web.com/httpdocs:/tmp)
Error code: 2
-- Backtrace --
/home/httpd/vhosts/3dpapermodel.w-web.com/httpdocs/3dpms/3dpmsblog/class/template/smarty/core/core.get_include_path.php(34): is_readable
/home/httpd/vhosts/3dpapermodel.w-web.com/httpdocs/3dpms/3dpmsblog/class/template/smarty/Smarty.class.php(1670): smarty_core_get_include_path
/home/httpd/vhosts/3dpapermodel.w-web.com/httpdocs/3dpms/3dpmsblog/class/template/smarty/Smarty.class.php(1558): cachedtemplate._parse_resource_name
.....


其實頁面該出面的東西都有出現, 但只是被這一堆錯誤訊息擠到旁邊了...-_-
去找了找資料, 說應該是存取到沒有權限存取的地方, 但server又不是我管的, 也沒辦法去改php.ini...........所以就此卡住, 不知道怎麼解決...

請各位高手幫幫忙吧,
先謝謝囉


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: cody三月 16, 2005, 09:32:18 下午
請主機商把你的
   php_admin_value safe_mode 1
  php_admin_value open_base_dir /home/xxxx.com.tw/

這兩條關起來


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 16, 2005, 11:47:31 下午
Hi cody:

謝謝!沒你跟 lss 我還真不知 linux 的問題該如何回答。該用功來看 linux 了,已經立志好多遍了。  :-P

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Blowfish三月 17, 2005, 07:40:39 上午
引用自: cody
請主機商把你的
   php_admin_value safe_mode 1
  php_admin_value open_base_dir /home/xxxx.com.tw/

這兩條關起來


謝謝cody,  :-D

再請問, 這兩個設定是不是可以直接放在plog目錄下的 .htaccess中, 例如:

程式碼:

<Directory "/path/to/my/www-root">
    php_admin_value safe_mode 0
    php_admin_value open_base_dir /path/to/my/www-root/
</Directory>


謝謝幫忙!!^__^


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 17, 2005, 01:32:13 下午
Hi Blowfish:

<Directory></Directory>

好像是不用加的!試試看吧!結果立即揭曉。記得回報可不可行。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Anonymous三月 17, 2005, 07:03:30 下午
只要加了 php_admin_value 那兩行進去.htaccess , 都會造成, 500 Internal Server Error.... :-|
程式碼:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


而且不管有沒有加<Directory>結果都一樣.....#@$
[/code]


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: lss三月 17, 2005, 08:23:34 下午
資料來源: http://tw.php.net/configuration.changes
引用
php_admin_value  name  value

    Sets the value of the specified directive. This can not be used in .htaccess files. Any directive type set with php_admin_value can not be overridden by .htaccess or virtualhost directives. To clear a previously set value use none as the value.


看來只好請你的主機商幫忙了。如果不幫,那就換一家吧!


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Blowfish三月 17, 2005, 08:36:26 下午
引用自: lss
資料來源: http://tw.php.net/configuration.changes
引用
php_admin_value  name  value

    Sets the value of the specified directive. This can not be used in .htaccess files. Any directive type set with php_admin_value can not be overridden by .htaccess or virtualhost directives. To clear a previously set value use none as the value.


看來只好請你的主機商幫忙了。如果不幫,那就換一家吧!


嗯...果真不能override admin的設定值, 看來真的只能請主機商改了, 我們放的那個主機商是在國外, 不知道肯不肯改... :-S

不管怎麼樣, 還是謝謝大家的幫忙!! ^__^


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Anonymous三月 17, 2005, 11:11:52 下午
找到解決辦法了, 特地來跟大家報告一下.

一開始發現, 錯誤是出現在 $plog_home/class/template/smarty/core/core.get_include_path.php這個檔案裏, 所以去看了一下code

程式碼:

1: function smarty_core_get_include_path(&$params, &$smarty)
2: {
3:     static $_path_array = null;
4:
5:     if(!isset($_path_array)) {
6:          $_ini_include_path = ini_get('include_path');
7:          
8:
9:         if(strstr($_ini_include_path,';')) {
10:             // windows pathnames
11:            $_path_array = explode(';',$_ini_include_path);
12:         } else {
13:             $_path_array = explode(':',$_ini_include_path);
14:         }
15:     }
16:     foreach ($_path_array as $_include_path) {
17:         if (@is_readable($_include_path . DIRECTORY_SEPARATOR . $params['file_path'])) {
18:                $params['new_file_path'] = $_include_path . DIRECTORY_SEPARATOR . $params['file_path'];
19:             return true;
20:         }
21:     }
22:     return false;
}


問題就出在 Line: 17 , 在call is_readable() function時, 會檢查到沒有權限的目錄, 就是在$_path_array中, 有不可存取的目錄, 而$_path_array又是從$_ini_include_path得到的, 所以問題一定在這裏.

然後用phpinfo()印出php的系統資料, 找到include_path, 原來這台主機的include_paht 設定為.:/usr/share/pear
, 就是/usr/share/pear出了問題了, 不在allowable的include path中, 難怪會有問題.

解決方法:
把Line 6 改成 $_ini_include_path="."; 就可以了.

呼...終於解決. :-D


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 17, 2005, 11:31:00 下午
精華!又是一篇精華!你是哪一家主機,講出來大家以後注意一下。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: lss三月 18, 2005, 12:41:44 上午
引用自: Anonymous
找到解決辦法了, 特地來跟大家報告一下.

一開始發現, 錯誤是出現在 $plog_home/class/template/smarty/core/core.get_include_path.php這個檔案裏, 所以去看了一下code

程式碼:

1: function smarty_core_get_include_path(&$params, &$smarty)
2: {
3:     static $_path_array = null;
4:
5:     if(!isset($_path_array)) {
6:          $_ini_include_path = ini_get('include_path');
7:          
8:
9:         if(strstr($_ini_include_path,';')) {
10:             // windows pathnames
11:            $_path_array = explode(';',$_ini_include_path);
12:         } else {
13:             $_path_array = explode(':',$_ini_include_path);
14:         }
15:     }
16:     foreach ($_path_array as $_include_path) {
17:         if (@is_readable($_include_path . DIRECTORY_SEPARATOR . $params['file_path'])) {
18:                $params['new_file_path'] = $_include_path . DIRECTORY_SEPARATOR . $params['file_path'];
19:             return true;
20:         }
21:     }
22:     return false;
}


問題就出在 Line: 17 , 在call is_readable() function時, 會檢查到沒有權限的目錄, 就是在$_path_array中, 有不可存取的目錄, 而$_path_array又是從$_ini_include_path得到的, 所以問題一定在這裏.

然後用phpinfo()印出php的系統資料, 找到include_path, 原來這台主機的include_paht 設定為.:/usr/share/pear
, 就是/usr/share/pear出了問題了, 不在allowable的include path中, 難怪會有問題.

解決方法:
把Line 6 改成 $_ini_include_path="."; 就可以了.

呼...終於解決. :-D

不太對哦  ^o)
/usr/share/pear 的前面還有一個 . ,也就是目前目錄,是在 /usr/share/pear 之前。所以出現這個錯誤,代表第17行的程式碼判斷由目前目錄取得的檔名是不可讀的,才會判斷到由 /usr/share/pear 目錄下取的得檔名,接下來才有 php 安全模式的問題。
我覺得問題還不算完全解決。


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Blowfish三月 18, 2005, 07:24:33 上午
引用自: markwu
精華!又是一篇精華!你是哪一家主機,講出來大家以後注意一下。


我們用的是這一家, http://www.w-web.com/ 大宇科技的Linux虛擬主機, 他們用一套叫Plesk的虛擬主機管理系統, 是http://sw-soft.com/這家公司出版的.
供大家參考一下.


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Blowfish三月 18, 2005, 07:59:51 上午
程式碼:

1: function smarty_core_get_include_path(&$params, &$smarty)
2: {
3:     static $_path_array = null;
4:
5:     if(!isset($_path_array)) {
6:          $_ini_include_path = ini_get('include_path');
7:          
8:
9:         if(strstr($_ini_include_path,';')) {
10:             // windows pathnames
11:            $_path_array = explode(';',$_ini_include_path);
12:         } else {
13:             $_path_array = explode(':',$_ini_include_path);
14:         }
15:     }
16:     foreach ($_path_array as $_include_path) {
17:         if (@is_readable($_include_path . DIRECTORY_SEPARATOR . $params['file_path'])) {
18:                $params['new_file_path'] = $_include_path . DIRECTORY_SEPARATOR . $params['file_path'];
19:             return true;
20:         }
21:     }
22:     return false;
}

引用

不太對哦  ^o)
/usr/share/pear 的前面還有一個 . ,也就是目前目錄,是在 /usr/share/pear 之前。所以出現這個錯誤,代表第17行的程式碼判斷由目前目錄取得的檔名是不可讀的,才會判斷到由 /usr/share/pear 目錄下取的得檔名,接下來才有 php 安全模式的問題。
我覺得問題還不算完全解決。


嗯...對哦, 真的是有點怪怪的,剛又看了一下, 發現都是return false.

不過summary.php and admin.php是都可以正常顯示了, 但如果連到index.php的話則會有錯誤, Exception message: Smarty error: unable to read resource: "./templates//blueish/header.template", 可是這個檔案是存在的, 也是可讀的

但由管理介面連到網誌去, 是都沒問題.......真的搞不懂.


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 18, 2005, 08:08:35 上午
剛剛想到一個問題:

1. 你是用什麼時候的版本,有用最新的試過嗎?
2. 請把 全域設定>>模版設定>>allow_php_code_in_templates

改為 on 試試!

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: Anonymous三月 18, 2005, 10:44:58 上午
引用自: markwu
剛剛想到一個問題:

1. 你是用什麼時候的版本,有用最新的試過嗎?
2. 請把 全域設定>>模版設定>>allow_php_code_in_templates

改為 on 試試!


1. 是用最新版的.1.0 beta
2.改了, 還是一樣.

我再試試其他方法吧.謝謝


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 21, 2005, 09:56:37 上午
結果如何?解了嗎?

你的主機商願意把這兩行加進去嗎?

程式碼:
php_admin_value safe_mode 1 
php_admin_value open_base_dir /home/xxxx.com.tw/


Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 24, 2005, 07:45:37 下午
我昨晚試著從0.32升級到1.0
結果發生跟樓主相同的情形
可是我到我的php.ini去看, safe mode是off的
而用phpinfo()看到的php的系統資料顯示open_basedir
在Local Value是顯示為/home/httpd/vhosts/我的帳號/httpdocs:/tmp
在Master Value是顯示為no value

我的主機是半專屬主機,可以由我自己去改php.ini
請問我應該將phpini如何改呢??


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 25, 2005, 01:25:12 下午
如果沒記錯,應該是把

程式碼:
safe_mode = On
open_basedir = "/home/xxxx.com.tw/"


加到 php.ini 就可以了。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 25, 2005, 05:43:57 下午
引用自: markwu
如果沒記錯,應該是把

程式碼:
safe_mode = On
open_basedir = "/home/xxxx.com.tw/"


加到 php.ini 就可以了。

Mark

cody說的意思好像是要把
php_admin_value safe_mode 1
php_admin_value open_base_dir /home/xxxx.com.tw/

這兩條關起來
那意思應該是要safe_mode = off 吧
而不是Mark你說的 On
可是其實我的本來就是 off 的狀態
因為用On的話會限制許多php函式無法執行
另一個open_basedir要關起來
怎麼關我就不會了
麻煩懂得的大大了


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 25, 2005, 07:17:50 下午
引用自: ellenlee
引用自: markwu
如果沒記錯,應該是把

程式碼:
safe_mode = On
open_basedir = "/home/xxxx.com.tw/"


加到 php.ini 就可以了。

Mark

cody說的意思好像是要把
php_admin_value safe_mode 1
php_admin_value open_base_dir /home/xxxx.com.tw/

這兩條關起來
那意思應該是要safe_mode = off 吧
而不是Mark你說的 On
可是其實我的本來就是 off 的狀態
因為用On的話會限制許多php函式無法執行
另一個open_basedir要關起來
怎麼關我就不會了
麻煩懂得的大大了


Ha ... 我看錯了!

你的 open_basedir 在 php.ini 前面有 ; 嗎?如果有就是關起來了!

假設你的 php.ini 裡面本來就是關的,那看看 http.conf 中是否有

php_admin_value open_base_dir /home/xxxx.com.tw/

把他給 remark 掉。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 25, 2005, 11:21:29 下午
我的php.ini裡是顯示如下的
;open_basedir =

open_basedir應該也是關起來的
也就是說我的safe mode與open_basedir都是關起來的

我將0.32的plog整個移到現在的半專屬主機之後,summary裡的「最新發表的文章」就無法再更新
但整個plog其他功能都是正確的
如果我刪去tmp這資料夾裡所有暫存的資料,若執行到summary.php或admin.php時
第一次執行時它就會出現像Blowfish 所說的
Exception message: is_readable(): open_basedir restriction in effect. File(/usr/share/pear/plugins/compiler.cycle.php) is not within the allowed path(s): (/home/httpd/vhosts/我的帳號/httpdocs:/tmp)
Error code: 2
-- Backtrace --
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.get_include_path.php(34): is_readable
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.assemble_plugin_filepath.php(54): smarty_core_get_include_path
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1378): smarty_core_assemble_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(588): smarty_compiler._get_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(544): smarty_compiler._compile_compiler_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(298): smarty_compiler._compile_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1498): smarty_compiler._compile_file
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1433): template._compile_source
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1271): template._compile_resource
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/template.class.php(83): smarty.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(179): template.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/controller/controller.class.php(118): summaryview.render
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(190): controller.process

Exception message: is_readable(): open_basedir restriction in effect. File(/usr/share/pear/plugins/block.cycle.php) is not within the allowed path(s): (/home/httpd/vhosts/我的帳號/httpdocs:/tmp)
Error code: 2
-- Backtrace --
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.get_include_path.php(34): is_readable
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.assemble_plugin_filepath.php(54): smarty_core_get_include_path
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1378): smarty_core_assemble_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(663): smarty_compiler._get_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(546): smarty_compiler._compile_block_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(298): smarty_compiler._compile_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1498): smarty_compiler._compile_file
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1433): template._compile_source
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1271): template._compile_resource
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/template.class.php(83): smarty.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(179): template.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/controller/controller.class.php(118): summaryview.render
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(190): controller.process

可是當我發表完一篇文章後,它自動在tmp裡又生出了檔案就好了,執行到summary.php不會再有問題,但在執行有些admin.php的功能時則會再出現上頭的那些錯誤訊息
而且那summary裡的「最新發表的文章」無法再更新

其實我原本是要升級到1.0的,而我也真的那麼做了三次
但沒有一次成功,至少我每次的問題都嘗試著去解決了
最後一次就是出現在這個tmp,以及使用者的模版執行錯誤(因為我預設都是用reic的,然後我也沒辦法請每個人都去改回grey)
呼~真的是要經歷好幾次失敗呢
於是我看到四月一日會有正式版出來,我就想說先恢復到0.32好了,等4/1之後再一次去解決會出現的問題
沒想到,我搬個主機,連0.32的summary裡的「最新發表的文章」都出了問題 :'(


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: lss三月 26, 2005, 10:08:29 上午
open_basedir 的預設值應該是沒有限制,而且你的 php.ini 裡沒有設定,那應該是主機商在 httpd.conf 裡設定了。

我是還沒找到 httpd.conf 裡的設定和 php.ini 裡的設定衝突時,那個設定是優先的?由此看來,似乎 httpd.conf 的設定值優先了。

找主機商解決吧!


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 26, 2005, 10:55:28 上午
引用自: lss
open_basedir 的預設值應該是沒有限制,而且你的 php.ini 裡沒有設定,那應該是主機商在 httpd.conf 裡設定了。

我是還沒找到 httpd.conf 裡的設定和 php.ini 裡的設定衝突時,那個設定是優先的?由此看來,似乎 httpd.conf 的設定值優先了。

找主機商解決吧!

謝謝lss的回答
我租用的主機是半專屬主機,它可以讓我使用ssh自行更改php.ini以及 httpd.conf 等等apache組態檔
我之前看過httpd.conf,這檔裡面就完全沒有open_basedir這個設定喔


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 26, 2005, 11:08:09 上午
Hi ellenlee:

幫個忙!把 class/template/smarty/core/core.get_inlcude path.php 改為

引用
function smarty_core_get_include_path(&$params, &$smarty)
{
    static $_path_array = null;

    if(!isset($_path_array)) {
        $_ini_include_path = ini_get('include_path');

        if(strstr($_ini_include_path,';')) {
            // windows pathnames
            $_path_array = explode(';',$_ini_include_path);
        } else {
            $_path_array = explode(':',$_ini_include_path);
        }
    }
   
    print_r($_path_array);  
 
    foreach ($_path_array as $_include_path) {
        if (@is_readable($_include_path . DIRECTORY_SEPARATOR . $params['file_path'])) {
               $params['new_file_path'] = $_include_path . DIRECTORY_SEPARATOR . $params['file_path'];
            return true;
        }
    }
    return false;
}


我想看系統傳給你的 include_path 是什麼?執行後麻煩把結果 post 上來。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 26, 2005, 11:50:19 上午
Array (
  • => . [1] => /usr/share/pear )
Exception message: is_readable(): open_basedir restriction in effect. File(/usr/share/pear/plugins/compiler.cycle.php) is not within the allowed path(s): (/home/httpd/vhosts/我的帳號/httpdocs:/tmp)
Error code: 2
-- Backtrace --
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.get_include_path.php(37): is_readable
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.assemble_plugin_filepath.php(54): smarty_core_get_include_path
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1378): smarty_core_assemble_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(588): smarty_compiler._get_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(544): smarty_compiler._compile_compiler_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(298): smarty_compiler._compile_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1498): smarty_compiler._compile_file
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1433): template._compile_source
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1271): template._compile_resource
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/template.class.php(83): smarty.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(179): template.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/controller/controller.class.php(118): summaryview.render
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(190): controller.process
Array (
  • => . [1] => /usr/share/pear )
Exception message: is_readable(): open_basedir restriction in effect. File(/usr/share/pear/plugins/block.cycle.php) is not within the allowed path(s): (/home/httpd/vhosts/我的帳號/httpdocs:/tmp)
Error code: 2
-- Backtrace --
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.get_include_path.php(37): is_readable
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/core/core.assemble_plugin_filepath.php(54): smarty_core_get_include_path
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1378): smarty_core_assemble_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(663): smarty_compiler._get_plugin_filepath
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(546): smarty_compiler._compile_block_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty_Compiler.class.php(298): smarty_compiler._compile_tag
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1498): smarty_compiler._compile_file
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1433): template._compile_source
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/smarty/Smarty.class.php(1271): template._compile_resource
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/template/template.class.php(83): smarty.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(179): template.fetch
/home/httpd/vhosts/我的帳號/httpdocs/plog/class/controller/controller.class.php(118): summaryview.render
/home/httpd/vhosts/我的帳號/httpdocs/plog/summary.php(190): controller.process


to mark, 以上是我在0.32版本的summary.php執行後的結果
我剛才又發現,會員新發表的文章會在summary的最新發表文章出現
但我自己的plog不行(是第一個建立的)


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 26, 2005, 12:11:20 下午
Hi ellen:

你的 php.ini 中的 inlcude path 裡面有 /usr/share/pear 這一個嗎?如果有?可以把他先拿掉試試嗎?

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 26, 2005, 02:13:06 下午
hi markwu,我的php.ini裡沒有/usr/share/pear這些敘述

需要我整個php.ini寄給你看看嗎??


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: lss三月 26, 2005, 02:24:52 下午
hi ellenlee:
請問你的主機商是那一家?請提供一下連結。
我想,雖然你可以改 httpd.conf 和 php.ini ,但是有一些設定值應該仍被主機商控制,是不能由虛擬主機覆寫的。

……難道………,改了設定值,必需重新啟動 apache ,……

先看看那家主機商提供什麼樣的環境吧!


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 26, 2005, 02:51:40 下午
sigh ....

完全不知你的主機怎麼設定的!我只能用很賤的方法:

你把上面那個檔案的

引用
$_ini_include_path = ini_get('include_path');


改為

引用
// $_ini_include_path = ini_get('include_path');
$_ini_include_path = ".";


我相信應該就可以了!但這是治標並非治本。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 26, 2005, 09:51:20 下午
引用自: lss
hi ellenlee:
請問你的主機商是那一家?請提供一下連結。
我想,雖然你可以改 httpd.conf 和 php.ini ,但是有一些設定值應該仍被主機商控制,是不能由虛擬主機覆寫的。

……難道………,改了設定值,必需重新啟動 apache ,……

先看看那家主機商提供什麼樣的環境吧!

我使用的是威博達http://www.webdsn.net/所提供的半專屬主機,他們上游的主機好像是在美國,我沒問過

我若改了apache組態設定值,那就一定得重新啟動它
可是我都還沒因為plog而改過httpd.conf 和 php.ini,所以應該不必重新啟動它吧
我租用的主機是有點類似專屬主機的那種,就是那種我可以自己裝設軟體在主機上的,還有幾乎所有設定管理等都要自己動手



引用自: markwu
sigh ....

完全不知你的主機怎麼設定的!我只能用很賤的方法:

你把上面那個檔案的

引用
$_ini_include_path = ini_get('include_path');


改為

引用
// $_ini_include_path = ini_get('include_path');
$_ini_include_path = ".";


我相信應該就可以了!但這是治標並非治本。

Mark

謝謝Mark與lss這兩天的幫忙
我已經有點累累的了,實在是佩服兩位的熱心與耐心
我打算等四月一日過後正式版出來再更新到1.0
到時候應該又有一段漫長的修改的路要走
謝謝兩位了 ;-)


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: lss三月 26, 2005, 11:20:11 下午
在威博達的 linux 虛擬主機規格 (http://www.webdsn.net/host/virtual.html)的網頁上看到:
引用
2.嚴禁虛擬主機客戶安裝PLOG多用戶程式,欲裝PLOG請選擇專屬虛擬主機方案(即將推出)

看來,想找主機商技術支援也不可能了。即使能順利安裝,只怕用不了多久,就會被停用吧!
考慮一下,換個主機商。


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 28, 2005, 09:07:54 上午
Hi ellenlee:

你有試過我最後的方式了嗎?可以試驗看看嗎?

另外,你可以聯絡你的虛擬主機廠商嗎?如果他們要把 pLog 包進服務中,有任何問題,我們會很樂意協助的。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: ellenlee三月 29, 2005, 09:12:40 上午
引用自: lss
在威博達的 linux 虛擬主機規格 (http://www.webdsn.net/host/virtual.html)的網頁上看到:
引用
2.嚴禁虛擬主機客戶安裝PLOG多用戶程式,欲裝PLOG請選擇專屬虛擬主機方案(即將推出)

看來,想找主機商技術支援也不可能了。即使能順利安裝,只怕用不了多久,就會被停用吧!
考慮一下,換個主機商。

謝謝lss的建議,
我就是被他們移到專屬虛擬主機的客戶,我想他們會設這個規定就是因為有我這個前車之鑑 :-$
其實這間主機商只是比較不喜歡我用beta版的,等1.0正式版的出來,他們倒是蠻支持我更新的,現在我已經移到專屬虛擬主機,也就是我一直說的半專屬主機,我被分配到128MB的記憶體可使用,他們告訴我這樣就綽綽有餘了,而我的plog也不會被停用的,因為現在的主機等於是由我自己在管理,跑什麼程式都無所謂,只要我沒用完自己的128MB記憶體,即使真的都用光我自己的份,也只是會導致我自己的網站速度變慢變不穩定而已


引用自: markwu
Hi ellenlee:

你有試過我最後的方式了嗎?可以試驗看看嗎?

另外,你可以聯絡你的虛擬主機廠商嗎?如果他們要把 pLog 包進服務中,有任何問題,我們會很樂意協助的。

Mark

這個方式我會等到升級到1.0正式版還有問題時再來試驗看看
到時候結果如何,我一定會再來向大家報告喔
另外我有一個額外的問題
究竟我要不要將mysql_pconnect 改成 mysql_connect呢?
據tomex_ou的說法,改成非保持連結會導致cpu耗用增加
但保持連結數又會讓我們的mysql資料庫的連結數暴增
究竟以我目前使用的專屬虛擬主機類型來說,我該怎麼設定呢?


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 29, 2005, 10:34:53 上午
引用自: ellenlee
我就是被他們移到專屬虛擬主機的客戶,我想他們會設這個規定就是因為有我這個前車之鑑 :-$
其實這間主機商只是比較不喜歡我用beta版的,等1.0正式版的出來,他們倒是蠻支持我更新的,現在我已經移到專屬虛擬主機,也就是我一直說的半專屬主機,我被分配到128MB的記憶體可使用,他們告訴我這樣就綽綽有餘了,而我的plog也不會被停用的,因為現在的主機等於是由我自己在管理,跑什麼程式都無所謂,只要我沒用完自己的128MB記憶體,即使真的都用光我自己的份,也只是會導致我自己的網站速度變慢變不穩定而已


這幾天的 release 跟正式版已經不會有差別了。所以你可以放心的去試。

引用自: ellenlee

這個方式我會等到升級到1.0正式版還有問題時再來試驗看看
到時候結果如何,我一定會再來向大家報告喔


其實我希望你先試。因為你們遇到的問題是主機設定與 smarty 模版引擎之間的問題,並非 pLog 所程式本身所造成的 bug。如果你沒試,我實在不知道該怎麼繼續來修這個問題。麻煩你了。

如果還是不行,那唯一的方法就只有如 cody 所說的,請你的主機廠商變更設定了。

引用自: ellenlee

另外我有一個額外的問題
究竟我要不要將mysql_pconnect 改成 mysql_connect呢?
據tomex_ou的說法,改成非保持連結會導致cpu耗用增加
但保持連結數又會讓我們的mysql資料庫的連結數暴增
究竟以我目前使用的專屬虛擬主機類型來說,我該怎麼設定呢?


如果你是個人使用,那我建議你用 pconnect。如果是作 blog hosting我還是建議你用 pconnect,看情況再來決定要不要調整為 connect。

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: blowfish三月 29, 2005, 09:05:18 下午
引用自: markwu
結果如何?解了嗎?

你的主機商願意把這兩行加進去嗎?

程式碼:
php_admin_value safe_mode 1 
php_admin_value open_base_dir /home/xxxx.com.tw/




sorry, 很久沒上來看.
到後來, 還是沒有請主機商加設定, 但問題卻解決了...
好像我新增了幾個post後 or 新增了另一個use後就沒問題了, 我也忘了...:P


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: markwu三月 30, 2005, 11:33:37 上午
Hi blowfish:

仔細的想想看!如果可以把作法 post 上來,因為這樣 ellen 的問題也有解了。:D

Mark


主題: 在虛擬主機安裝的問題(open_basedir restrict)
作者: blowfish三月 30, 2005, 08:39:01 下午
引用自: markwu


仔細的想想看!如果可以把作法 post 上來,因為這樣 ellen 的問題也有解了。:D



我記得只有改過那支程式而已, 然後再增加了一篇post, 就突然都沒問題了.