在服務器安裝ecshop出現appserver以及storage不存在的解決辦法
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
今天在安裝ecshop出現appserver以及storage不存在,這個錯誤無論放在一級目錄還是放在二級目錄都不顯示,很是郁悶,在想哪里問題,網上問題各種;具體請看錯誤;
錯誤如下:
問題: 在 ecshop 安裝過程中, 權限檢查階段, 出現 appserver 不存在錯誤.
以下是錯誤以及對應的解決辦法:
問題以及相對應的解答有如下幾種:
一、appserver 與 ecshop 不在同一個目錄下
解決: 把 appserver 與 ecshop 放在同一目錄.
二、根目錄創建過程中產生命名沖突.
解決: 根目錄不可命名為"ecshop".
三、路徑中,文件夾的名字不能重復
wwwroot/ecshop/source/shop
wwwroot/ecshop/source/appserver
四、上面有兩個ecshop文件夾名字只要把上面的末尾shop改成如下名字即可, 具體原因詳見下面 <調試過程>
wwwroot/ecshop/source/web
wwwroot/ecshop/source/appserver
調試過程
step1 查看安裝文件shop/install/index.php
79 case 'check' :
80 include_once(ROOT_PATH . 'install/includes/lib_env_checker.php');
81 include_once(ROOT_PATH . 'install/includes/checking_dirs.php');
82 $dir_checking = check_dirs_priv($checking_dirs);
step2 由 check_dir_priv 函數在lib_env_checker.php
30 function check_dirs_priv($checking_dirs)
31 {
32 include_once(ROOT_PATH . 'includes/lib_common.php');
33
34 global $_LANG;
35 $msgs = array('result' => 'OK', 'detail' => array());
36
37 foreach ($checking_dirs AS $dir)
38 {
39 $path = ROOT_PATH;
40 if(strstr($dir,'appserver')){
41 $path_arr = explode('/',ROOT_PATH);
42 $count = count($path_arr)-2;
43 $name = $path_arr[$count].'/';
44 $path = str_replace($name,'',ROOT_PATH);
45 }
關鍵代碼?$path = str_replace($name,”,ROOT_PATH); ?就是這兒替換字符出現的問題. 通過var_dump($path)
出現?string(24) “/wwwroot/ecsource/” string(24) “/wwwroot/ecsource/” , 路徑中的ecshop被替換 -_-!
ps: 正確的路徑應該為/wwwroot/ecshop/source/
還有一種問題,就是我所遇到的問題,這個問題就是權限問題;
我用的是IIS,我們要給與wwwroot目錄以及windows下Temp目錄這兩個目錄追加這三個所有權(Everyone、 Users、? IIS_IUSRS) 即可;
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!