gpt4 book ai didi

php - 运行没有输出到浏览器的php脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:05:34 25 4
gpt4 key购买 nike

我有一个非常劳动密集型的 PHP 脚本,它对别处的服务器进行多次 api 调用。我需要运行此脚本以将某些数据保存在我的服务器上,并与远程服务器上的数据同步。

我希望每次特定类型的用户访问特定页面时启动此脚本。

但是,我的问题是,如果合格的用户访问此页面,页面加载时间是 REDONCULOUS,即使脚本处理的数据不会以任何方式影响页面本身。

所以,我想知道的是,如何使用相同的条件运行此脚本,但只在我的服务器上运行它?

换句话说,我怎样才能运行这个脚本并阻止浏览器等待它的输出?

编辑:有用信息:Using XAMPP for Windows, PHP 5.5, Apache 2.4。

编辑 2: 使用 curl 似乎是最佳选择,但它并不想实际运行我的脚本。

调用如下:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost/tool/follow/PriceTableUpdate.php');
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1);
curl_exec($ch);

这是实际的 PriceTableUpdate.php:

<?php  
ini_set('max_execution_time', 3600);
$marketData=simplexml_load_file("http://www.eve-markets.net/api/xml?listid=20158key=JKgLjgYvlY6nP");
foreach ($marketData->marketList->type as $type) {
$ItemID = (int)$type['id'];
$ItemBuy = $type->buy->price;
$ItemSell = $type->sell->price;
$ItemMedian = $type->median->price;
mysqli_query($con,"UPDATE piprices SET `ItemBuyPrice` = $ItemBuy, `ItemSellPrice` = $ItemSell, `ItemMedianPrice` =$ItemMedian WHERE `piprices`.`ItemID` = $ItemID");
}
?>

编辑 3:使用上面的方法确实有效,以防有人想再次问这个问题。但是你必须记住,因为你使用的是 curl,php 文件不再使用你之前设置的变量,所以你需要在 php 文件中再次定义你的数据库连接。

最佳答案

为什么不在其中使用 AJAX?当页面加载并满足您的特定条件时,向服务器发出 AJAX 请求并启动脚本,而无需等待返回给浏览器的响应。

关于php - 运行没有输出到浏览器的php脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20842208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com