系统问题汇总
来自DBShop帮助中心
目录 |
切换模板前台显示不正常
如果您在后台切换模板后,前台显示模板错乱,这时可以用两种方式处理。第一:刷新下后台模板切换页面;第二:删除 /data/cache/modulecache/ 下面的两个文件。
数据库不能正常连接
用户在完全符合安装条件的环境中进行安装的时候,发现数据库连接错误(用户名和密码都正确),导致无法安装。 这里需要重点说明下,DBShop系统不会自行在数据库中建立自己的数据库信息,需要用户手动在数据库中建立需要使用的数据库名称(即您填入的数据库名称,在数据库中必须存在),否则就会显示连接错误。
ftp软件二进制设置
FTP软件二进制设置方式
DBShop验证码显示问题
当您安装完成DBShop系统后,发现验证码无法正常显示。这时您需要查看下/public/upload/下captcha目录是否有足够的权限,因为验证码图片会保存在这个目录中。 还有就是保证session可以正常写入。基本来说就这两个问题,都处理ok了,肯定正常显示。
必须开启重写功能
区分是否已经开启重写的最简单方法,是访问 http://你的网站地址/user/login 如果能正常访问的话,就是开启了;如果访问不了,只能通过 http://你的网站地址/index.php/user/login 这样的方式才可以 正常访问,那就是没有开启。
需要特别注意,如果您在本地修改host,给系统指向了一个在公网上不能访问的域名,这时重写检测程序,在公网上访问不到这个域名时,也会显示重写检测失败的提示。
在开启重写前,首先您要保证自己的web环境支持php程序运行,如果还不支持php运行,请先去处理好php的运行情况。
有些用户,环境搭建好了,重写也没问题,可是依然找不到页面,这个时候,您需要查看下DBShop系统的根目录中是否有.htaccess文件(重写规则),如果不存在,请到官方下载系统,将里面的.htaccess文件复制进去。
IIS开启重写功能
首先要准备IIS7.0的REWRITE组件。这个可以上IIS的官网上下载 下载地址:http://www.iis.net/download/URLRewrite 安装后 如下图(如果没有出现,可以试着重启一下电脑)
在系统根目录建立一个 web.config的文件,然后将以下内容写入其中 直接下载该文件
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="dbshop-rule" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> </conditions> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
如果上面的配置不行,可以看看ZendFramework 2 官方提供的方法 https://framework.zend.com/manual/2.4/en/ref/installation.html
Apache开启重写功能
以本人在Ubuntu 14.04的开启方式为例
sudo a2enmod rewrite 如果本身就是以root账户登录的 可以直接 a2enmod rewrite 修改/etc/apache2/apache2.conf 将
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
中的 AllowOverride None 修改为 AllowOverride All 即可。 重启Apache (service apache2 restart),Rewrite开启完成。
Ubuntu安装DBShop环境 http://blog.dbshop.net/ubuntu%E4%B8%8B%E6%90%AD%E5%BB%BAdbshop%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83/
centos7安装DBShop环境 http://blog.dbshop.net/centos7%E4%B8%8B%E5%85%A8%E7%A8%8Byum%E5%AE%89%E8%A3%85%E9%80%82%E7%94%A8%E4%BA%8Edbshop%E7%9A%84lnmp%E7%8E%AF%E5%A2%83%EF%BC%88%E8%BD%AC%EF%BC%89/
下面这种开启Rewrite的方式太旧了
加载Rewrite模块: 在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。 允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”): # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All 在Windows系统下不能直接建立“.htaccess”文件,可以在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。
Nginx开启重写功能(rewrite)
配置Location 如下
可以先看看Nginx官方网站的配置介绍 https://www.nginx.com/resources/wiki/start/topics/recipes/zend/ 如果配置OK,就不需要往下看了。
location / { try_files $uri $uri/ /index.php$is_args$args; }
location ~ \.php$ { fastcgi_pass unix:/usr/local/zend/tmp/php-fastcgi.socket; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
上面主要看的部分是
try_files $uri $uri/ /index.php$is_args$args;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
其他部分可能是不一样的。
阻止 .htaccess 如下
location ~ \.htaccess { deny all; }
上传后安装提示找不到页面出现500错误
问题主要有以下几种原因: 1)没有开启Rewrite,想知道如何开启,请在本页面寻找即可。 2)开启了Rewrite,没有用DBShop系统目录下的.htaccess 或者 .htaccess丢失,这种情况下,可以下载个新系统,把.htaccess提取出来。 3)可能就是Rewrite的规则的,因为使用的web服务器不同,规则也不同 Apache、IIS、Nginx,官方目录下默认有Apache和IIS的规则(IIS的需要导入),Nginx可以在本页面找到规则配置。 4)其他原因,待续……
上传图片提示文件类型无法检测
最新版本的安装过程中,对于 finfo 的载入也是该解决方法。
出现这样的情况图片也是无法上传成功的,这个在自己用环境组件搭建环境的时候出现的可能性大,如果是虚拟空间基本不会有这样的问题。 问题出在 php.ini中的 extension=php_fileinfo.dll (windows)| extension=fileinfo.so (linux)没有开启,开启就可以了。
PDO开启
Windows下面后缀是 .dll Linux下面后缀是 .so
DBShop电子商务系统默认使用MySql数据库,连接方式使用PDO连接。如果您没有开启PDO可按照下面方法开启PDO连接。 PHP.ini中,去掉"extension=php_pdo.dll 和 extension=php_pdo_mysql.dll"前面的";"号,若要连接数据库,还需要去掉与PDO相关的数据库扩展前面的";"号,然后重启Apache服务器即可。 extension=php_pdo.dll extension=php_pdo_mysql.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pdo_mssql.dll extension=php_pdo_odbc.dll extension=php_pdo_firebird.dll 对于我们的系统来说,使用 extension=php_pdo.dll extension=php_pdo_mysql.dll 就可以了。
SOAP开启
Windows下面后缀是 .dll Linux下面后缀是 .so 在php.ini中找到
extension=php_soap.dll
将前面的;号去掉,然后重启web服务
session写入权限问题
解决方法,如果是虚拟空间,联系空间商将对应目录赋予写入权限,上图中是/tmp/目录没有写入权限。如果是自己的服务器,设置对应目录权限即可。