相关疑难解决方法(0)

早点关闭连接

我正在尝试进行AJAX调用(通过JQuery),这将启动一个相当长的过程.我希望脚本只是发送一个响应,表明进程已经启动,但是在PHP脚本运行完毕之前,JQuery不会返回响应.

我用"关闭"标题(下面)尝试了这个,还有输出缓冲; 似乎都不起作用.任何猜测?或者这是我在JQuery中需要做的事情?

<?php

echo( "We'll email you as soon as this is done." );

header( "Connection: Close" );

// do some stuff that will take a while

mail( 'dude@thatplace.com', "okay I'm done", 'Yup, all done.' );

?>
Run Code Online (Sandbox Code Playgroud)

php ajax jquery

96
推荐指数
5
解决办法
6万
查看次数

如何在PHP中创建异步GET请求?

我希望对另一台服务器上的另一个脚本发出一个简单的GET请求.我该怎么做呢?

在一种情况下,我只需要请求外部脚本而无需任何输出.

make_request('http://www.externalsite.com/script1.php?variable=45'); //example usage
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,我需要获取文本输出.

$output = make_request('http://www.externalsite.com/script2.php?variable=45');
echo $output; //string output
Run Code Online (Sandbox Code Playgroud)

说实话,我不想乱用CURL,因为这不是CURL的工作.我也不想使用http_get,因为我没有PECL扩展.

fsockopen会工作吗?如果是这样,如何在不读取文件内容的情况下执行此操作?没有其他办法吗?

谢谢大家

更新

我应该补充一下,在第一种情况下,我不想等待脚本返回任何内容.据我所知,file_get_contents()会等待页面完全加载等?

php curl asynchronous http

94
推荐指数
6
解决办法
11万
查看次数

在php中获取锁定的最佳方法

我正在尝试更新APC中的变量,并且将尝试执行此操作的许多进程.

APC不提供锁定功能,所以我正在考虑使用其他机制......到目前为止我发现的是mysql的GET_LOCK()和php的flock().还有什么值得考虑的吗?

更新:我找到了sem_acquire,但它似乎是一个阻塞锁.

php locking apc

17
推荐指数
4
解决办法
4万
查看次数

crontab与wget - 为什么它运行两次?

我有一个php脚本,它从webservice运行并插入到DB.

crontab -e

......other cron tasks above.......
...
..
..
# Run test script.php at 1610
10 16 * * * /usr/bin/wget -q -O /home/username/my_cronjobs/logs/cron_adhoc http://localhost/project/script.php

显然,在16:10,这个脚本运行两次!16:10:01和16:25:02

是不是错了,必须使用wget?或者我是否错误地设置了cron作业的时间表?

当我从浏览器运行http://localhost/project/script.php时,它只运行一次..

关于这个问题的任何想法?

我已经测试过,没有其他用户运行相同的工作......我怀疑wget的工作方式.

正如我的脚本需要至少20分钟不回送一个应答来完成(它是从we​​bservicces拉了很多数据并保存到DB)..怀疑有一个超时或默认造成这个问题的wget重试的.

wget crontab

15
推荐指数
2
解决办法
3065
查看次数

在PHP中启动新进程/线程的最简单方法

场景:

  1. 共享主机,因此无法安装新扩展+无CRON
  2. 提交的请求需要执行一些繁重的过程.
  3. 我希望客户的答案尽可能快,并且繁重的工作要立即继续,但不能阻止客户端.
  4. 可以在新线程上(如果可能的话)启动新进程也没问题.

做这个的最好方式是什么?

php performance multithreading process

11
推荐指数
1
解决办法
1万
查看次数

PHP异步任务

我正在研究可能涉及长时间运行任务的PHP脚本.过程如下,用户(在我的情况下使用iOS应用程序)将数据提交给我的Web服务.部分过程需要我的PHP脚本联系第三方以验证一些提交的数据.客户端(在iPad上)无需等待第三方的响应.

伪代码:

Pull values from _POST[]
some simple validation
if _POST[] values are good
    return success to client
    further process submitted data with thrd party
    update database
else
    return error code and message
Run Code Online (Sandbox Code Playgroud)

怎么可能从我的服务器返回一个简单的JSON对象只是作为收据,并让我的PHP脚本进一步处理提交的数据.我知道我使用的第三方响应缓慢(做了几次跳跃,并且已知需要几分钟才能得到响应).

php asynchronous

3
推荐指数
1
解决办法
1780
查看次数

标签 统计

php ×5

asynchronous ×2

ajax ×1

apc ×1

crontab ×1

curl ×1

http ×1

jquery ×1

locking ×1

multithreading ×1

performance ×1

process ×1

wget ×1