在服务器安装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号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!