写 一个PHP脚本遇到的问题总结

在项目中,因为之前的人员,基础数据没有处理好,后面需要写一个脚本来处理这个问题,经验少,总结如下:

1.在linux下直接连接跑处理MySQL数据的脚本,要用PDO的方式连接数据库,长时间在框架中处理,PDO处理有些生疏了=.=

PDO可参阅:http://php.net/manual/zh/book.pdo.php 或者 :http://www.2cto.com/database/201410/347594.html

2. 在处理旧数据的时候,要删除原来的旧数据,因为原来的数据表有外键,在删除的时候一直报错,开始不知道怎么处理:

后来查阅资料:SET FOREIGN_KEY_CHECKS = 0 可处理这个问题,关于这个问题,有篇文章不错,

记录下:http://blog.csdn.net/laven90/article/details/42710061

3.在运行脚本时,因为数据量较大,出现:"Fatal Error: Allowed memory size of xxxxxx bytes exhausted",内存不足引起的

搜索资料如下解决方案:http://blog.csdn.net/laven90/article/details/43731301

并且对脚本的运行开始 要设置 set_time_limit(0),因为:

php.ini中默认 max_execution_time = 30 ; 每个脚本的最大执行时间, 按秒计 明显不能满足需求。

4.在这次脚本处理的过程中暴露出很多问题,目前先稍微整理部分,方便查阅,后面再慢慢消化 整合。

(1)对php.ini中各项的了解不够,参阅如下文章:

http://www.jb51.net/article/56216.htm

http://blog.csdn.net/u012767263/article/details/16845301

(2)对php的内存管理的知识了解不够,参阅下面的文章:

1.作者:laruence

http://www.laruence.com/2011/03/04/1894.html

http://www.laruence.com/2011/11/09/2277.html

2.http://www.cnblogs.com/hujia7812556/p/4598835.html

http://www.cnblogs.com/hujia7812556/p/4614342.html

在内存管理中提到一个系统调用的概念,同时提到了内核态和用户态的概念:

查找资料发现这篇文章 便于理解:http://www.cnblogs.com/viviwind/archive/2012/09/22/2698450.html

关于内存 的学习 还需要继续深化,现在先记录到这吧。

上一篇:Linux中的pipe(管道)与named pipe(FIFO 命名管道)


下一篇:[P5170] 类欧几里得算法