写 一个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

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

时间: 2024-10-28 11:28:20

写 一个PHP脚本遇到的问题总结的相关文章

Linux系统的rm命令太危险,一不小心就会删除系统文件。写一个shell脚本来替换系统的rm命令,

Linux系统的rm命令太危险,一不小心就会删除系统文件.写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时都要做一个备份,然后再删除. 假设有一个大的分区/data/,每次删除文件或者目录前,都要在/data/下面创建一个隐藏目录,以日期/时间命名,比如/data/.201802021054,然后把所有删除的文件同步到该目录下面,可以使用rsync -R把文件路径一同同步 答案: #!/bin/bash d=`date +%Y%m%d%H%M` read -p "Are y

写一个交互脚本,实现能够定义主机名及IP地址

写一个交互脚本,实现能够定义主机名及IP地址 脚本内容↓ [[email protected] scripts]# cat xiugaizhuji.sh #!/bin/bash ############################################################# # File Name: jiaohu.sh # Version: V1.0 # Author: clsn # Organization: http://blog.znix.top # Create

写一个shell脚本利用wget抓取股票历史数据

今天,大数据部老大交给我一项任务——抓取股票历史数据.于是乎,我自行在网上找了一下,发现wget真真是一个非常强大的linux下载工具.我已经被深深震撼到了.下面叙述今天的一些过程,还是比较坎坷的. 首先,我利用公司现在存在的股票数据,使用hive查询所有的股票代码并导入本地: hive -e "use stock;select distinct secucode from t_stock_tick_shsz where type='sz';" >> sz_secucode

如何使用while循环写一个小脚本?

在shell里使用while循环写成这样格式的交互式脚本,a和b都等于一个整数,要求报错有提示: a-b=? a+b=? a*b=? a/b=? a**b=? a%b=? 解:首先我们分析一下题意,输出2个整数的加 减 乘 除 幂 取余的结果,要求不要报错可以理解为只能输入2个整数,ready go! while true #循环一直为真 do read -t 5 -p '请输入2个整数:' a b #用read读ab两个数并提示,5秒未输入即超时 if [[ -z "$b" ]];

linux写一个计划脚本每月1号3点重启服务区

1. 每周一,三,五的下午3:00系统进入维护状态,重新启动系统.00 15 * *1,3,5 shutdown -r +5 2. ~/tmp/restart.sh: date cd /var/test pid=`ps -e|grep test | grep -v grep | awk '{print $1'}` kill -15 $pid sleep 2 ./test ./test.lua  echo "restart end, return $?, `date`" 让crontab

ubuntu中写一个shell脚本的过程

gedit hello.sh ,然后输入 #!/bin/bash echo "Hello world!" chmod +x hello.sh ./hello.sh

十分钟写一个简单的docker

我在这个视频(http://pan.baidu.com/s/1c0fKOtM)里介绍了容器虚拟化的原理,主要有三个方面:资源隔离,命名空间隔离,运行环境隔离.这些东西都是linux本身就有的功能,只需要写一个shell脚本,就能实现一个简单的虚拟机,和docker类似. 代码如下: #!/bin/bash #用法:mydocker.sh $root_dir $ip_addr $cpu_us(每秒钟CPU使用的us数) #例如: sh mydocker.sh /images/fedora/ 192

一个PHP脚本,通过curl先获取百度地图api生成的经纬度,然后改数据库内的数据。

今天写一个PHP脚本,目的是让先从数据库拿取响应的地区名  然后通过幼儿园的名字来查询准确的经纬度.此间每次生成的经纬度进入数据库内的更改. 7万多条数据用时一个小时执行完毕. 不得不说 用curl结果还是比file_getcoents快的多.话不多说直接上代码 <?php date_default_timezone_set('Asia/Chongqing'); header('content-type:text/html; charset=utf-8'); ini_set('display_e

写一个service 启动停止你的微服务的命令吧

在这个微服务盛行的时代,docker获得了巨大的成功,因为我们需要在一台服务器装上N个服务. 本文不是想讨论如何使用docker,而是,在一台服务器安装了多个服务后,怎样启动方便的启动服务呢? 一.在tomcat的时代中,直接使用tomcat的启动停止命令,轻松搞定,(tomcat的启动脚本很有水平,贴上来学习下吧) #!/bin/sh # chkconfig: 2345 10 90 # description:tomcat service JAVA_OPTS="$JAVA_OPTS -serv