我有一个php脚本作为cron作业运行,它执行一组简单的任务,为数据库中的每个用户循环,大约需要30分钟才能完成.这个过程每小时开始一次,需要尽可能快速有效.我遇到的问题,就像任何服务器脚本一样,执行时间各不相同,我需要找出最佳的cron时间设置.
如果我每分钟运行一次cron,我需要在分钟结束前20秒停止脚本的最后一个循环,以确保当前循环及时完成.在一个小时的过程中,这会浪费很多时间.
我想知道是否一个坏主意简单地删除php执行时间限制并每小时运行一次脚本并让它运行完成....这是一个坏主意吗?
我正在创建一个Web应用程序,我希望将所有对用户的响应存储在语言文件中以便于编辑.所以我使用eval()管理动态消息,这样:
$msg = 'Hello $user, your favorite color is $color';
$colors = array("red","green","blue","yellow");
$users = array("bob","craig","ted","dirty sanchez");
foreach($users as $key => $user){
$color = $colors[$key];
eval("\$newmsg = \"$msg\";");
echo $newmsg;
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是最好的方法还是有更好的方法?
我正在尝试使用 array_multisort 对任何数组进行排序,并且一切正常。但是,根据脚本中的条件,我需要更改选项。所以到目前为止我所拥有的是:
array_multisort(
$sort1,SORT_ASC,
$sort2,SORT_ASC,
$sort3,SORT_ASC,
$arraytosort
);
Run Code Online (Sandbox Code Playgroud)
我想要的是这样的:
$dynamicSort = "$sort1,SORT_ASC,$sort2,SORT_ASC,$sort3,SORT_ASC,";
array_multisort(
$dynamicSort,
$arraytosort
);
Run Code Online (Sandbox Code Playgroud)
有什么建议?
通常在创建新的Web应用程序和配置MySQL时,某些字段需要随着应用程序的发展而改变格式.例如,我可能会更改日期字段的格式或曾经只是int的字段现在需要一个字母或不是.所以通常我只是将每个字段设置为Varchar 255,直到Im完成,此时我将数据类型更改为正确的.
所以我的问题是,数据类型有多重要?这个目的是什么?速度?
我有几个大的(200多行)html,我需要放在一个变量中,在循环中多次使用.逃避这个并且保持格式清洁变得非常混乱.无论如何设置像这个IF语句的变量?
<?php if($condition): ?> <p>html here</p> <?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
我知道它可能与外部文件,但Id而不是添加一系列包含来实现这一目标.
我有一个全天定期更新的表,所以我正在寻找最可扩展的更新行的方法。这些更新是大批量进行的,因此每次更新可能包含大约 1000 行。
目前,我正在遍历这 1000 行中的每一行并运行一个更新查询……虽然执行时间不长,但与一个简单的批量插入语句相比,它似乎很浪费。所以 REPLACE INTO 是有道理的,因为它基本上删除旧行并插入新行,但这与手动“删除数组中的 where id”然后批量插入相比如何?完全一样的?稍微不一样?有没有更好的方法?
这里的关键是这些不是单行查询,而是批量行查询。所以问题是,运行这些更新的最具可扩展性的方式是什么。我说“可扩展”而不是“最快”,因为这些更新在有活跃用户的生产服务器上定期发生,所以速度很重要,但不是以锁定服务器为代价。