php脚本运行时会话将过期

php脚本运行时会话将过期,php,mysql,session,Php,Mysql,Session,我在Linux服务器上编写了一个PHP脚本,将值插入SQL。我需要在SQL中插入250多万个条目。脚本运行正常,值正在插入到我的数据库中。但是在插入200万个条目后,我的会话将过期,脚本停止执行。我无法插入所有条目。我尝试在另一个窗口中运行top命令,但脚本运行的选项卡已过期。请建议一些解决方案 在我的脚本运行之前,是否有任何方法保持会话处于活动状态 操作系统:CentOS 5.8版 PHP版本:PHP5.1.6,Zend引擎 谢谢您能提供代码吗?在php设置(默认值:30秒)中,您确定它是会话

我在Linux服务器上编写了一个PHP脚本,将值插入SQL。我需要在SQL中插入250多万个条目。脚本运行正常,值正在插入到我的数据库中。但是在插入200万个条目后,我的会话将过期,脚本停止执行。我无法插入所有条目。我尝试在另一个窗口中运行top命令,但脚本运行的选项卡已过期。请建议一些解决方案

在我的脚本运行之前,是否有任何方法保持会话处于活动状态

操作系统:CentOS 5.8版 PHP版本:PHP5.1.6,Zend引擎


谢谢

您能提供代码吗?在php设置(默认值:30秒)中,您确定它是会话过期而不是php最大执行时间吗?您是否控制运行php和MySQL的服务器?如果是这样,您需要延长php超时时间。如果不是(例如,如果您使用的是托管服务),则需要弄清楚如何将这250万行数据以大约50K的批量插入。共享服务器对php脚本超时和内存消耗有严格的限制。@O.Jones:我试过分批运行它。每个批在运行后有50k个条目,只有40k个条目插入。我还有一个疑问。当我使用cat myfile.csv时,wc-l的输出为50k。那就意味着它有50k个条目,对吗?。当我运行脚本时,它完全执行了,但它没有插入所有的条目。@BenRoob:是的,它正在会话到期。我无法复制粘贴代码,因为代码太长,无法将其放入注释中。我不熟悉堆栈溢出。所以不知道如何复制粘贴抱歉。听起来像是5万批对你每月5美元的托管服务来说太多了。一分钱一分货。不幸的是,运行一个专用的、非共享的服务器要花费很多。尝试20K批。要验证插入,请检查每个批处理的第一行和最后一行是否真正进入MySql。您能提供代码吗?在php设置(默认值:30秒)中,您确定它是会话过期而不是php最大执行时间吗?您是否控制运行php和MySQL的服务器?如果是这样,您需要延长php超时时间。如果不是(例如,如果您使用的是托管服务),则需要弄清楚如何将这250万行数据以大约50K的批量插入。共享服务器对php脚本超时和内存消耗有严格的限制。@O.Jones:我试过分批运行它。每个批在运行后有50k个条目,只有40k个条目插入。我还有一个疑问。当我使用cat myfile.csv时,wc-l的输出为50k。那就意味着它有50k个条目,对吗?。当我运行脚本时,它完全执行了,但它没有插入所有的条目。@BenRoob:是的,它正在会话到期。我无法复制粘贴代码,因为代码太长,无法将其放入注释中。我不熟悉堆栈溢出。所以不知道如何复制粘贴抱歉。听起来像是5万批对你每月5美元的托管服务来说太多了。一分钱一分货。不幸的是,运行一个专用的、非共享的服务器要花费很多。尝试20K批。要验证插入,请检查每个批处理的第一行和最后一行是否真正进入MySql。