首页 > 代码库 > ASP转PHP手记

ASP转PHP手记

打算将动易网站管理系统移植到PHP环境中,寻寻觅觅了很多PHP内容管理网站,发现网上有动易转PHPCMS的代码,所以就拿定注意用PHPCMS的在google上找到一转换程序,动手做来还成功了,现将此次转换的经验与教训总结如下: 
   1.在http://www.otand.com/html/php/cms/20080605/2852.html下载完美动易2006 Sp6  SiteWeaver CMS6.5 Access MSSQL转 PHPCMS 2007 SP6程序解压缩备用,请不要下载PHPCMS官网的转换程序,因其有很多错误,还是完美的好。 
   2.先在windows下调试,求方便直接下载的PHPCMS集成包, http://soft.phpcms.cn/2008/0116/soft_138.html,一键安装后直接可以用。 
   (后在linux下证实,直接将MYSQL数据库复制过去是可行的) 
将完美转换程序解压后,找到里面的config.php,因我以前用的是ACCESS数据库,所以这里将ACCESS以外的MSSQL全部注释掉,例如: 
// 访问 访问数据库类型   数据库类型支持Access,MsSQL   请选择数据库类型并认真填写下列信息 
$_CONFIG[‘db_type‘] = ‘Access‘; 
//$_CONFIG[‘db_type‘] = ‘MsSQL‘; 
// 访问 MsSQL  的主机名,如果是本机为localhost 
//$_CONFIG[‘db_sql_host‘] = ‘localhost‘; 
// 访问 MsSQL  的数据库名 
//$_CONFIG[‘db_sql_name‘] = ‘powereasy‘; 
// 访问 MsSQL  的用户名 
//$_CONFIG[‘db_sql_user‘] = ‘powereasy‘; 
// 访问 MsSQL  的密码 
//$_CONFIG[‘db_sql_pass‘] = ‘powereasy5598‘; 
//是否使用持久连接 
//$_CONFIG[‘db_pconnect‘] = ‘1‘; 

然后将ACCESS数据库放在D盘根目录下,例如: 
// 访问 access 数据库文件名,绝对地址: D:\改成D:/ 
$_CONFIG[‘access_mdb‘] = ‘d:/danweishujuku.mdb‘; 
//红字地方是自己数据库名称 
// 访问 access 数据库文件的用户名,一般默认为空 
$_CONFIG[‘access_uid‘] = ‘‘; 
// 访问 access 数据库文件的密码,一般默认为空 
$_CONFIG[‘access_pwd‘] = ‘‘; 
// PE 数据表前缀 一般不需要修改 
$_CONFIG[‘access_tablepre‘] = ‘PE_‘; 
// 每次需要转换的数据量,如果您的服务器比较慢,请将这个值调小 
$CONFIG[‘rpp‘] = ‘1000‘; 
?> 

仅仅更改这两项。 

然后将整个解压后的包放在网站根目录下,我这里是phproot所以直接放PHProot下即可。 

比较笨的我,刚开始是这么做的,人家readme上是这么写的“将本程序解压到PHPCMS根目录”我呢,没有把一整包放在根目录下,而是把一堆文件拷到了PHPROOT下,这样肯定会覆盖原有的INDEX.PHP啊,我又把原index.php做了个备份,然后运行之,然后会有错误提示若干: 
Warning: include_once(../include/common.inc.php) [function.include-once]: failed to open stream: No such file or directory in D:\PC_webserver\phproot\index.php on line 14 

Warning: include_once() [function.include]: Failed opening ‘../include/common.inc.php‘ for inclusion (include_path=‘.;C:\php5\pear‘) in D:\PC_webserver\phproot\index.php on line 14 

Warning: include_once(PHPCMS_ROOT/config.inc.php) [function.include-once]: failed to open stream: No such file or directory in D:\PC_webserver\phproot\index.php on line 15 

Warning: include_once() [function.include]: Failed opening ‘PHPCMS_ROOT/config.inc.php‘ for inclusion (include_path=‘.;C:\php5\pear‘) in D:\PC_webserver\phproot\index.php on line 15 

Warning: include_once(PHPCMS_ROOT/include/cache.func.php) [function.include-once]: failed to open stream: No such file or directory in D:\PC_webserver\phproot\index.php on line 16 

Warning: include_once() [function.include]: Failed opening ‘PHPCMS_ROOT/include/cache.func.php‘ for inclusion (include_path=‘.;C:\php5\pear‘) in D:\PC_webserver\phproot\index.php on line 16 

Warning: include_once(PHPCMS_ROOT/admin/include/global.func.php) [function.include-once]: failed to open stream: No such file or directory in D:\PC_webserver\phproot\index.php on line 17 

Warning: include_once() [function.include]: Failed opening ‘PHPCMS_ROOT/admin/include/global.func.php‘ for inclusion (include_path=‘.;C:\php5\pear‘) in D:\PC_webserver\phproot\index.php on line 17 
Access Denied 

这些东西说明找不到某个文件,看了转换程序的index.php原来在这里 

第14行的include_once(PHPCMS."/include/common.inc.php"); 

而PHPCMS.的定义是“..”这样的话直接就出了phproot这个目录了,所以会提示找不到文件 

有两个方法可以解决: 
  1:将index.php文件的include_once(PHPCMS."/include/common.inc.php");的(PHPCMS."/include/common.inc.php");改为include_once("include/common.inc.php"); 
然后再运行http://127.0.0.1/index.php 

  2:解压转换程序后更改config.php文件,然后将整个包拷到网站根目录下例如: 
    http://127.0.0.1/完美动易2006 Sp6 SW6.5 Access MSSQL转 PHPCMS 2007 SP6 /index.php 

第二种是最简单的,定义好自己数据库后运行下即可,省去了寻找问题的时间。 



转换完后登陆后台,此时切记切记要更新全部缓存否则当管理频道--重建目录时会提示如下错误: 
Warning: require(D:/PC_webserver/phproot/languages//phpcms.lang.php) [function.require]: failed to open stream: No such file or directory in D:\PC_webserver\phproot\include\common.inc.php on line 28 

Fatal error: require() [function.require]: Failed opening required ‘D:/PC_webserver/phproot/languages//phpcms.lang.php‘ (include_path=‘.;C:\php5\pear‘) in D:\PC_webserver\phproot\include\common.inc.php on line 28 

非常要命的错误啊!!!!出现后刷新页面整个后台都无法登陆了!!! 
刷新后的错误提示: 

Warning: require(D:/PC_webserver/phproot/languages//phpcms.lang.php) [function.require]: failed to open stream: No such file or directory in D:\PC_webserver\phproot\include\common.inc.php on line 28 

Fatal error: require() [function.require]: Failed opening required ‘D:/PC_webserver/phproot/languages//phpcms.lang.php‘ (include_path=‘.;C:\php5\pear‘) in D:\PC_webserver\phproot\include\common.inc.php on line 28 
此时只有重新安装PHPCMS了!! 

         
再强调一下:转换完后登陆后台首先是更新缓存!!!!!

ASP转PHP手记