你现在的位置:首页 > PHP网站建设知识库 > ZenCart > 正文

zencart的configure.php源码分析

zencart通过从你的configure.php文件结合二值化来建立自己的网址:

非SSL的网页:
HTTP_SERVER plus DIR_WS_CATALOG加上部分页面的URL

即:"http://www.my_domain.com" plus "/CUSTOM/",然后不管地址是不是您要求的网页,如"index.php?main_page=shopping_cart"

因此,如果您设置这些值指向了错误的地方,你会立刻看到,在你点击的URL,第一次进入网站的反映。利用这些信息,你应该能够扭转设计的URL,你看到在您的浏览器下面的两个地方进去。
提示:在您管理的configure.php,如果你设置您的HTTP_SERVER到以https://开头的URL,那么你所有的管理页面将使用SSL处理。当然,如果你的网站上确实有使用SSL,以及一个有效的证书,那么你就可以正常的工作了。

SSL页面:
同样建立SSL链接/网址:

HTTPS_SERVER加DIR_WS_HTTPS_CATALOG加上部分页面的URL
即:"https://www.my_domain.com" plus "/CUSTOM/" plus "index.php?main_page=login"

路径:
DIR_FS_CATALOG点在服务器上的物理文件夹路径。如果你只能改变你的网站和没有真正改变现在网址的文件夹名,那么你并不需要接触这个。

但是,记住,DIR_WS_CATALOG和DIR_FS_CATALOG之间很相似:

DIR_FS_CATALOG可能如下:/home/myname/public_html/CUSTOM/
那么DIR_WS_CATALOG是:/CUSTOM/

(DIR_WS_CATALOG指向配置您的托管帐户的“根目录”,即:哪个文件夹中您的帐户的实际网站......在大多数情况下,这个文件夹命名为“的public_html”或“htdocs”或“httpdocs”)

其他的路径:
下面的路径,不应该改变。改变这些是非常的少见,因为改变它们会打破你的网站的正常运行。


define('DIR_WS_IMAGES', 'images/');

define('DIR_WS_INCLUDES', 'includes/');

define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');

define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');

define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');

define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/');

define('DIR_WS_TEMPLATES', DIR_WS_INCLUDES . 'templates/');

define('DIR_WS_UPLOADS', DIR_WS_IMAGES . 'uploads/');

define('DIR_FS_UPLOADS', DIR_FS_CATALOG . DIR_WS_UPLOADS);

define('DIR_FS_EMAIL_TEMPLATES', DIR_FS_CATALOG . 'email/');

define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');


由店主销售下载项目,并希望取得原件,下面的行可能会改变。代备用路径'DIR_FS_CATALOG这个值的部分,搬迁后的物理文件夹到相应的位置,将是用于实现这一目标的方法。这个特定的主题上还有另一种常见问题的文章。

define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');

数据库设置
define('DB_TYPE', 'mysql');

在Zen Cart v1.x的唯一有效的值是'mysql'。

define('DB_PREFIX', ''); // prefix for database table names -- preferred to be left empty
仅用于当你的主机服务器的配置允许你只在你的托管帐户的单一数据库,这是一个不受欢迎的解决方法,允许多个软件应用程序共享相同的数据库,没有冲突的表名前缀。
在理想的情况下,你会离开这个空白,如下所示。
一些托管公司,提供“一键安装”(不推荐)Zen Cart的东西有zen_“作为前缀。这可能会造成各种混乱,你的网站移动到另一台服务器,当您尝试忘记(或不知道)前缀已定,所有的表名就会被修改。

下面是一个例子,你的数据库确实使用DB_PREFIX:
 no prefix

 'zen_' prefix

'fred_' prefix

address_book      zen_address_book

fred_address_book

countries

zen_countries

fred_countries

products

zen_products

fred_products

define('DB_SERVER', 'localhost');

 这是运行数据库服务器的地址。在大多数情况下,'localhost'的是正确的选择。您的托管公司可以告诉你,如果它应该是别的东西。


define('DB_SERVER_USERNAME', 'your_selected_username_here');

define('DB_SERVER_PASSWORD', 'your_selected_password_here');

define('DB_DATABASE', 'your_assigned_databasename_here');

当您为您的商店创建数据库,这些设置由你选择。在某些情况下,他们可能会被指定为你的数据库创建一个自动化功能,在您的托管公司的控制面板。通常,你可以自己选择。有时用户名和DatabaseName在您的托管帐户名称的开头添加。即:yourname_dbname123即使你选择只是“dbname123”。 如果这是给你的改变,您的托管公司的控制面板会告诉你。

其他设定
define('USE_PCONNECT', 'false');

此设置的唯一有效的值是'假'。什么都被忽略。
注意:此设置是过时的。不再使用。

define('STORE_SESSIONS', 'db');

为了获得最佳的效率和可靠性,这应设置为“DB”,它是默认的。
将其设置为空白,将导致Zen Cart的尝试会话数据存储在服务器上的物理文件,但如果不采取适当的预防措施来保护会话数据存储的文件夹,这可以带来安全风险,除非服务器管理员了解非常了解会话的概念,知道如何配置所有相关的组件,这也将经常打破SSL功能,防止客户能够登录或登录后保留在他们的购物车的内容。

define('SQL_CACHE_METHOD', 'none');
它建议将其设置为'none'或' 'database' '为获得最佳性能。
此外,它设置为'文件'可能提供轻微的改善,如果Web服务器是非常缓慢和配置不当。在这种情况下,最好移动到更可靠的服务器,而不是使用“文件”的方法。
此外,如果选择使用“文件”的方法,你必须重新定位您webroot外的SQL缓存文件夹,如下所述,否则你自己就会留下安全隐患。
注:V1.5.0,“文件”选项已经过时了。只有'none'或'database''有任何意义。

define('DIR_FS_SQL_CACHE', '/enter/your/path/to/public_html_or_htdocs/and/zencart/here/zen/cache');

zencart V1.X在此设置指定SQL缓存文件将被保存,如果选择'文件'模式的路径。此设置也可用于存储各种调试日志,用于PHP脚本可能在您的商店有疑难问题。
这有可能搬迁到您网站的根目录以外的其他位置,也许,这个文件夹可以提高安全性。简单地使用你的FTP程序的文件夹搬迁,调整此值,以符合新的位置。
为了解“根目录”的概念的更多信息,请参阅您最喜爱的搜索引擎。