最近把一个基于PERL的系统迁移到另一台服务器,本来运作好好的系统,移过去却问题百出。总结下来,有如下问题需要特别注意:
- 对字符串的处理
处理之前一定要先确定字符串对象是否存在。注意对变量的判断。 - DBI查询数据库语句结尾时分号的问题
在用PHP习惯了给每一个SQL加上一个分号,旧服务器中没出现任何问题,可是新的服务器却提示无法辨认;前后的SQL语句,而无法执行的错误。最好在excute的同时加上die的选择,这样会避免出现恐怖的错误 - 曾经有这样的错误,excute出错,但是$sth->rows依然获取行数,不过不是一行,而是几百万行。 - 尽量使用公共变量保存系统路径。
- 还原数据库的时候注意Mysql语句在不同版本间的区别。
- use strict和eval对调试很有帮助。