草庐IT

php - 在 PHP 中运行(可能)需要很长时间才能完成的脚本

我正在运行一个php脚本作为cron作业,可能需要很长时间才能完成。它将创建一个巨大的xml文件并保存它。实现时应该考虑什么?我做的一件事是将max_execution_time设置很长时间:ini_set('max_execution_time',300);还有什么我应该做的吗?增加内存限制?如果将header设置为“keep-alive”会有帮助吗?我能做些什么来确保脚本在所有必要的事情都完成之前一直运行? 最佳答案 您可以使用set_time_limit删除执行时间限制将0作为参数传递的函数:set_time_limit(0)

php - 在 php 中为长时间运行的进程创建后台进程

好吧,如果这是另一个问题的重复,请原谅我,但在搜索之后我还没有找到明确的答案。我基本上想要做的是让我的phpweb应用程序触发一些可能需要几分钟才能完成的事件(如电子邮件或报告生成器),并立即将控制权返回给页面。我来自.NET世界,在该世界中,这可以通过线程轻松完成。工作流程如下:用户点击“生成报告”按钮对'../blah/generate-report'进行ajax调用并立即返回流程开始并运行直到完成,然后用户可以继续他的业务用户可以返返回告页面并查看进度:“报告已完成50%”实现此目标的最佳方法是什么?简短的回答就可以了。我不想为我编写代码,只是一些指导。我查看了shell_exe

php - 如何在 prestashop 程序化产品导入期间添加图像?

我找不到有关在产品插入期间添加图像的适当文档。这是我的xml产品导入脚本的工作代码。我不知道如何在添加产品的同时添加产品图片。foreach($xml->Productsas$product_xml){if($product_xml->Valid_internet_product==1){/*UpdateanexistingproductorCreateanewone*/$id_product=(int)Db::getInstance()->getValue('SELECTid_productFROM'._DB_PREFIX_.'productWHEREreference=\''.pS

php - 商业 PHP 脚本,长时间运行的进程。守护进程与 cronjobs?

我正在组装我的第一个商业PHP应用程序,它并不大,因为我仍在热切地学习PHP:)现在我仍处于规划我的应用程序的概念阶段,但我一直遇到一个问题,该应用程序应该由我的客户在他们自己的服务器上自行托管,并且将包含一些非常长的运行脚本,具体取决于每个客户在其应用程序中输入的数据量。现在我想我有两个选择,要么使用cronjobs,例如让一个或多个cronjobs在每个客户可以自己设置的时间运行,要么将整个数据处理作为在后台运行的守护进程。.我的问题是,因为它是一个自托管应用程序(并且每个服务器都不同)...是否建议尝试编写在客户服务器上启动后台进程的php,或者这是您可以做的更多事情只在您自己的

PHPExcel 需要很长时间才能读取 Excel 文件

我使用的是PHPExcel1.7.8、PHP5.4.14、Windows7和Excel2007电子表格。该电子表格包含750行,A列到BW列,大小约为600KB。这是我打开电子表格的代码——非常标准://IncludePHPExcel_IOFactoryinclude'PHPExcel/IOFactory.php';include'PHPExcel.php';$inputFileName='C:\xls\lspimport\GetLSP1.xlsx';//ReadyourExcelworkbooktry{$inputFileType=PHPExcel_IOFactory::identi

PHP比较时间戳和实时时间的差异

我想比较两个时间戳和一个以60或10为基数的时间之间的差异。更准确地说,如果timestamp1-timestamp2长于(或不长于)x小时y秒。我正在使用DateTime和DateInterval类,但是没有这样的函数,而且我找不到一个干净的解决方案。谢谢 最佳答案 $time1=newDateTime("2011-01-2601:13:30");//stringdate$time2=newDateTime();$time2->setTimestamp(1327560334);//timestamps,itcanbestringd

php - 如何将需要很长时间才能运行的 PHP 脚本拆分成更小的 block ?

我有一个初始化图片库的PHP脚本。它循环遍历所有图像,检查它们是否带有缩略图并为其添加水印。我的共享主机帐户只允许我执行每个脚本30秒,如php.ini设置中所设置的那样。我无法改变这一点。我该怎么做才能解决这个问题?目前我每5张图像刷新一次页面,这可以防止脚本超时,但浏览器会识别出脚本不会完成并给出错误。没关系,但它不是真正的用户友好。有什么建议吗? 最佳答案 获取图像列表,然后循环遍历它们例如,您总共获得500个img,您一次可以使用5个,完成后输出一个元刷新标签,该标签将在2秒内重新加载脚本,例如您当前使用的图像编号参数.并且

php - 所有这些网络平台如何实现不需要用户反复登录的长时间登录 session ?

我真的不明白:有些平台有某种“持久”登录session。像Stackoverflow和许多其他板和平台。我一个月前在这里登录过。即使我完全退出浏览器并使用不同的IP连接到另一个互联网,我也没有登录就回到这里。我无法相信这只是通过cookie完成的,因为大多数现代浏览器不再接受cookie(他们会询问用户并本能地点击“否”)。我什至遇到了一个无论我使用什么浏览器都会进行持久登录的平台。我可以使用safari或opera。无论。我总是用我的昵称登录。从那以后几年过去了,我完全离开了网络开发,我想知道技术是否发生了变化?今天是怎么做到的? 最佳答案

php - 找出两次之间的差异

我编写了以下代码来确定员工在某项任务上花费的时间:$time1=$row_TicketRS['OpenTime'];$time2=$row_TicketRS['CloseTime'];$t1=strtotime($time1);$t2=strtotime($time2);$end=strtotime(143000);//143000isreferenceto14:30//$Hours=floor((($t2-$t1)/60)/60);$Hours=floor((($end-$t1)/60)/60);echo$Hours.'Hours';上面的代码没有给我正确的时间。例如,开始时间为09

PHP 检查时间是否在两次之间而不考虑日期

我正在编写脚本,无论日期如何,我都必须检查时间范围是否介于两次之间。例如,我有这两个日期:$from=23:00$till=07:00我有以下时间要检查:$checkFrom=05:50$checkTill=08:00我需要创建一个脚本,如果其中一个检查值在$from/$till范围之间,该脚本将返回true。在此示例中,该函数应返回true,因为$checkFrom在$from/$till范围之间。但也应满足以下条件:$checkFrom=22:00$checkTill=23:45 最佳答案 试试这个函数:functionisBe