php - 在 php 中处理时显示结果
问题描述
我在我的本地主机中运行一个 php 抓取脚本。
当用户填写表单并提交按钮时,它会将一些数据发布到 php 脚本(即 script.php)。它在我的本地主机上正常工作,当 script.php 运行时,它会显示一些有关爬行的信息。
但是当我将它上传到服务器时,script.php 在处理时没有显示,只有在完成后才显示。所以我在服务器上运行下面的代码,但也没有工作(它在 localhost 上工作正常)。
<?php
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . '<br />';
flush();
ob_flush();
sleep(1);
}
echo 'End ...<br />';
?>
我添加了所有刷新方法,包括ob_implicit_flush(true);
or ob_start()
,但相同。我认为服务器有问题,但无法准确指出。谁能帮我?
解决方案
正如人们在评论中所说的那样,http 页面期望得到完整的回应。
获取更新流的方法是让您的 PHP 在完成过程中的各个阶段时更新数据库或文件,然后在单独的 http 页面上使用ajax 请求来查询更新的数据库(通过另一个 PHP 脚本)或文件直接地。
推荐阅读
- r - 将年和周列转换为月 R
- angular - 获取数组中的前一个图像
- css - 实际上,抑制包装伪元素
- ruby-on-rails - 如何在客户端而不是在表单提交时触发文件上传?
- java - Firebase 电子邮件和密码身份验证失败 mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener((task)
- python - python中的Diffie-Hellman加密方案
- fiddler - 通过提琴手生成顺序 POST 请求
- python - Python defaultdict 深度嵌套数据结构
- reactjs - ReactJS,上传文件时尝试将url图片插入数据库
- neo4j - 如何将手动 APOC 索引添加到包含字符串列表的属性