PHP脚本内存优化
下面我有一个脚本,它检查了35000个与外部网站的API相关联的ID号 脚本似乎提前结束,没有错误,看了之后,我认为它可能与内存有关 现在我可以重新运行脚本几次,最终我会得到所有的信息,但我以后不能这样做PHP脚本内存优化,php,Php,下面我有一个脚本,它检查了35000个与外部网站的API相关联的ID号 脚本似乎提前结束,没有错误,看了之后,我认为它可能与内存有关 现在我可以重新运行脚本几次,最终我会得到所有的信息,但我以后不能这样做 以下是添加项目代码: public static function add_item($id, $name, $description, $slots, $itemtypeid, $itemsubtypeid, $location, $conn) {
以下是添加项目代码:
public static function add_item($id, $name, $description, $slots, $itemtypeid, $itemsubtypeid, $location, $conn)
{
$stmt = $conn->prepare("
INSERT INTO `items` (`id`, `name`, `description`, `slots`, `itemtypeid`, `itemsubtypeid`, `location`)
VALUES (?, ?, ?, ?, ?, ?, ?)
");
$pattern = "/\^([a-fA-F0-9]{6})(.*?)\^([0]{6}|[0]{5}|[0]{4}|[0]{3}|[0]{2}|[0]{1})/";
$description = preg_replace($pattern, "<span style=\"color:#$1\">$2</span>", str_replace("\r\n", "<br />", $description));
$stmt->bind_param("sssssss", $id, $name, $description, $slots, $itemtypeid, $itemsubtypeid, $location);
$stmt->execute();
}
如果有人能帮助我找到方法来改进这个脚本,以便长途运输或占用更少的内存,我将不胜感激。我对处理数据库中还没有的这种规模的数据集的脚本非常陌生。不要为每次插入都准备语句。。。。准备好的陈述的全部要点是,你只需要准备一次。。。。。只有绑定和执行需要重复@Mark Ok,所以在其他地方设置它并使其成为全局的?
“查看后,我认为它可能与内存有关”
找出脚本没有完成的确切原因。否则,您将尝试修复不知道存在的问题。首先,您可以通过选择未分配的ID跳过For循环:
public static function upload_image($object, $directory, $newfilename)
{
file_put_contents("../img/items/" . $directory . "/" . $newfilename . ".png", $object);
return true;
}