最近接到新任务,需要把公司老的Shopping系统替换成Magento的。因为一直用.net进行开发,对Php架构体系并不是十分熟悉,正好利用此次机会学习一下。
第一步. 需要下载软件包:
(具体下载安装就不详细说明了)
1. Mysql: 我使用的是Mysql 5.1.62-community版本。
2. Apache: Apache 2.2.22-win32-x86-no_ssl版本。
3. PHP: php-5.2.17-Win32-VC6-x86
请使用线程安全版本,我听说Apache服务器应该使用VC6,不知道VC9的版本是否也一样可行。
4. Magento:Magento(Community)v1.7.0.2
第二步:配置Mysql + Apache+PHP运行环境
(网上很多教程是直接下载xampp或wamp集成包进行安装的,这里就不多说了,原理是一样的)
我安装的Mysql版本,没有管理工具,我这里使用的是SQLyong Ultimate,来进行管理Mysql数据库。
安装Apache后要注意,默认Apache服务使用80端口,如果你的机器上有IIS的服务,可能会冲突。导致Apache服务器不能启动。
最好是修改Apache的Config文件 httpd.conf 中Listen 80 改为其它值 ,我这里改为82.(或者使用其它方法)
然后将下载的PHP(我使用的是ZIP包),解压缩到C:\PHP路径下。
修改httpd.conf文件,在#LoadModule vhost_alias_module modules/mod_vhost_alias.so
后添加这些语句:
LoadModule php5_module "c:/PHP/php5apache2_2.dll"
PHPIniDir "c:/PHP"
AddType application/x-httpd-php .php .html .htm
以上是将PHP与Apache服务器建立联系。
下面是重点配置PHP.INI文件(这个文件很重要,有些参数不设置正确,Magento是过不去的)
1. 将php.ini-recommended文件修改为php.ini
2. 在php.int文件中,查找 ;extension_dir="./",去掉注释的;,修改成php目录里extensions的路径,即"extension_dir=c:\PHP\ext"
完成的功能是很多PHP的扩展dll库都放在ext文件夹中,设置扩展路径。
3. (重点)配置PHP的扩展
在php.ini中找到
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
去掉前面的;注释,网上很多安装教程,没有提示去掉extension=php_pdo.dll这个扩展的分号。如果不引用这个扩展,会导致Magento安装配置数据库建表阶段过不去
(我就是没配置这个,在那个阶段耗了半天时间。)
而Magento安装数据库的时候耗时很长,有300多个表,所以需要
max_execution_time = 1800 ; Maximum execution time of each script, in seconds
max_input_time = 300 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 512M ; Maximum amount of memory a script may consume (128MB)
将以上几个字段设置大一些,否则会出现只创建部分表出错的问题。
最后,将Magento1.7.0.2拷贝到Apache的默认路径\htdocs中。
在浏览器输入localhost:82,自动进行安装。
安装遇到的问题:
1. 我这里出现了 PHP Extension "mcrypt" must be loaded的问题。(困扰了我半天的时间,查找了各网站的资料,均不能解决。)
在网上搜索了一下,发现这个是通用的一个问题。我根据说明设置了PHP.ini文件,拷贝了libmcrypt.dll文件到windows/system32路径下,均不能解决问题。
始终提示说,不能load这个扩展。
后来我的解决方法是:设置计算机的环境变量,将路径“C:\PHP”添加进Path路径,就解决了这个问题。
2. 数据库配置阶段,始终停留在这个界面过不去,其中数据库已经建立,用户名,密码均正确(困扰了我半天时间,到处查找资料)
后来终于找到问题所在,php.ini文件中,需要开放extension=php_pdo.dll,而网上所有的资料都是只提到了开放extension=php_pdo_mysql.dll
3.安装结束后,不能登录后台。原来是Cookie的问题。
修改问题的方法:定位到Magento路径下 app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
找到这块代码
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
修改为
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()
//'domain' => $cookie->getConfigDomain(),
//'secure' => $cookie->isSecure(),
//'httponly' => $cookie->getHttponly()
);
完成后,终于可以进入到了前后台的界面。下面的工作就是熟悉Magento的操作,进行电子商务网站的配置了。