在服务器中运行PHP并仅显示结果
4.我找了很多地方,都没有找到解决问题的办法。。我有一个PHP代码,大约需要1分钟来检索信息,因为它在一个开放的PHP图形中获取URL,所以它必须打开很多站点,找到元数据(如:标题、图像、描述)并为我回显。。。因此,整个系统运行良好,但每次用户进入站点时,php代码都必须再次执行所有工作,检索元数据和其他内容 我需要创建一个在后台服务器上运行PHP并存储信息的系统,这样当用户进入站点时,所有的工作都已经完成,只显示结果。。。有什么想法吗 我做了这个测试: 经过1分钟的等待,页面已经打开显示结果,我输入了源代码,复制了所有内容并创建了一个新的.html页面(复制并粘贴生成的代码),当然,所有内容都转换为一个简单的html代码,显示php结果。。。所有加载都在一秒钟内完成,因为所有的打开图形过程都已经完成了。。这正是我需要的,但这是自然而然的在服务器中运行PHP并仅显示结果,php,graph,facebook-opengraph,Php,Graph,Facebook Opengraph,4.我找了很多地方,都没有找到解决问题的办法。。我有一个PHP代码,大约需要1分钟来检索信息,因为它在一个开放的PHP图形中获取URL,所以它必须打开很多站点,找到元数据(如:标题、图像、描述)并为我回显。。。因此,整个系统运行良好,但每次用户进入站点时,php代码都必须再次执行所有工作,检索元数据和其他内容 我需要创建一个在后台服务器上运行PHP并存储信息的系统,这样当用户进入站点时,所有的工作都已经完成,只显示结果。。。有什么想法吗 我做了这个测试: 经过1分钟的等待,页面已经打开显示结果,
(英语不是我的主要语言,所以,你知道):将结果添加到数据库或缓存文件中。拥有一个脚本,该脚本运行该脚本需要很长时间,但修改该脚本以将输出保存到文件或数据库。然后,让面向用户的脚本简单地检索文件/数据库的内容
有很多方法可以做到这一点。有些取决于您希望用户如何获取信息。
There are many options to do this. Some depend on how you want users to get the information.
1. If you're on Windows, you could try using:
$WShell = new COM("WScript.Shell");
$path = ($_SERVER['DOCUMENT_ROOT']."/long_task.php");
$exec = $WShell->Run("php.exe -f $path", 0, false);
Have the long_task.php update the database or something to let you know you've completed the task and that the user can retrieve the updates.
2. Load the data into an iframe
<!-- Send the data request to the iframe -->
<form action="long_task.php" target="ifr">
...
</form>
<!-- put iframe somewhere on your main page -->
<iframe name="ifr" id="ifr" >
</iframe>
3. Also, you may wish to consider using javascript instead. A jQuery asynchronous request to the long_task.php file can be created using something like:
<!-- HTML code -->
<a href="post_data()">Button</a>
<!-- jquery code -->
function post_data() {
var dataString = $('#data_to_send1, #data_to_send2).serialize();
$.post(url, dataString, function(data) {
//callback details
//use js-jquery to display your data here
});
}
1.如果您在Windows上,可以尝试使用:
$WShell=newcom(“WScript.Shell”);
$path=($\u服务器['DOCUMENT\u ROOT'].“/long\u task.php”);
$exec=$WShell->Run(“php.exe-f$path”,0,false);
让long_task.php更新数据库或其他东西,让您知道您已经完成了任务,并且用户可以检索更新。
2.将数据加载到iframe中
...
3.此外,您可能希望考虑使用JavaScript。可以使用以下方法创建对long_task.php文件的jQuery异步请求:
函数post_data(){
var dataString=$('#data_to_send1,#data_to_send2).serialize();
$.post(url、数据字符串、函数(数据){
//回拨详情
//使用js jquery在此处显示数据
});
}
您是否使用过memcached??Facebook和所有大型网站都使用这个功能,而且很容易实现
祝你好运