写 一个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
关于内存 的学习 还需要继续深化,现在先记录到这吧。