小编Fra*_*mer的帖子

使用PHP Curl库的持久/ keepalive HTTP?

我正在使用一个简单的PHP库通过HTTP将文档添加到SOLR索引.

目前涉及3台服务器:

  1. 运行索引作业的PHP框
  2. 一个数据库框,其中包含要编制索引的数据
  3. solr盒子.

在80个文档/秒(100万个文档中),我注意到PHP和solr盒子上的网络接口上的异常高的中断率(2000 /秒;更重要的是,图表几乎相同 - 当中断时PHP盒子峰值的速率,它也在Solr盒子上激增),但在数据库盒子上却少得多(300 /秒).我想这只是因为我打开并重用了一个到数据库服务器的连接,但是每个Solr请求当前都是通过cURL打开一个新的HTTP连接,这要归功于Solr客户端库的编写方式.

所以,我的问题是:

  1. cURL可以打开一个keepalive会话吗?
  2. 重用连接需要什么? - 它是否像重用cURL句柄资源一样简单?
  3. 我是否需要设置任何特殊的cURL选项?(例如强制HTTP 1.1?)
  4. 有没有关于cURL keepalive连接的陷阱?这个脚本一次运行几个小时; 我可以使用单个连接,还是需要定期重新连接?

php curl http libcurl keep-alive

59
推荐指数
3
解决办法
7万
查看次数

有人使用PHP 5.4.4和APC 3.1.10成功提供高流量的人吗?

升级到PHP 5.4.0后调用未定义的方法从2012年3月开始提到一些APC错误报告.

我的具体问题是:PHP 5.4.4(或其附近)是否与APC 3.1.10(4月发布,但列为"beta"而不是"稳定")一起稳定?

我们在Apache盒子上看到5 000 - 9 000个APC文件缓存命中/秒,作为流量水平的模糊指标.这与PHP 5.3.8和APC 3.1.9(使用mod_php)一起工作正常 - 有没有人有5.4.4和3.1.10的可比流量的经验?

php apache porting apc

29
推荐指数
1
解决办法
2523
查看次数

PHP替代session_is_registered

有谁知道PHP5中已弃用的函数session_is_registered的替代品?

这是我的代码:

ob_start();

session_start();

if(!session_is_registered(myusername))

{

    header("location:main_login.php");

}

ob_flush();
Run Code Online (Sandbox Code Playgroud)

谢谢,

毛罗

php session

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

pg_send_query():无法设置阻塞模式的连接?

我有一个长时间运行的脚本,似乎偶尔会报告以下NOTICE级错误:pg_send_query():无法设置连接到阻塞模式

它似乎继续发送查询,但不清楚它是否成功发送生成错误的查询.

这是什么症状?

编辑:错误发生时postgres日志中没有条目,这表明这只是一个连接错误,而不是postgres方面出错(例如可能不是postgres崩溃和重启的结果)

编辑:据我所知,当触发此错误时,我的INSERT语句会以某种方式成功.

编辑:看起来这可能已于2013年6月修复:https://bugs.php.net/bug.php?id = 65015

php postgresql

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

可以信任$ _SERVER ['REMOTE_ADDR']吗?

我有一个网站,只有几个人可以访问它,因此登录的IP数量非常有限.登录的"管理员"提交的所有内容都将发送到与其IP地址相关的特定文件夹.他们再次无法通过代理或任何东西访问网站,因为允许的IP范围有限.

我可以信任$_SERVER['REMOTE_ADDR']提供有效的IP,以便日志系统100%稳定高效吗?

php ip

12
推荐指数
1
解决办法
5968
查看次数

如何在没有一年零件的情况下存储生日?

类似的问题:Postgres生日选择

我们正在设计一个新功能:我们将存储人们生日的月和日部分,而不是年份.因此,在圣诞节出生的用户将拥有生日"12/25".问题是,我们怎样才能在postgres中最好地代表这一点?

  1. date专栏需要一年的时间,并且还会拒绝非发展日的平日.我们可以用任意闰年存储所有生日,例如'1972-12-25',但这有点像kludge.
  2. 我们可以使用两int列,一个用于月份,一个用于一年,但我们完全丢失了pg的内置日期检查,您可以存储日期'02-31'.
  3. 我们可以使用单个text列,但查询不会很好.

我们有什么选择吗?我们目前正倾向于一对整数列.

编辑:

为什么不存储出生日期 - 必须是有效的日期 - 并从那里开始?

隐私 - 这是一项可选功能,我们不希望要求提供超出需要的个人信息.

postgresql schema date date-of-birth

8
推荐指数
1
解决办法
3144
查看次数

使用popen()打开杀戮进程?

我正在用popen()打开一个长期运行的进程.对于调试,我想在完成之前终止该过程.调用pclose()只会阻塞直到孩子完成.

我怎么能杀死这个过程?我没有看到任何简单的方法来从popen()返回的资源中获取pid,以便我可以向它发送信号.

我想我可以做一些kludgey并尝试使用某种命令行hackery将pid捏到输出中...

php linux kill popen

7
推荐指数
1
解决办法
5430
查看次数

强制用户注销会话PHP

我似乎无法找到这个问题的直截了当的答案.有没有办法可以强制登录用户注销?我的登录系统基本上只依赖于包含用户唯一ID(存储在mysql数据库中)的会话.所以基本上只是......

if (isset($_SESSION['user_id'])) {
echo "You're logged in!";
} else {
echo "You need to login!";
}
Run Code Online (Sandbox Code Playgroud)

但是,假设我想要禁止这个用户,我可以将其状态更改为在我的数据库中禁止,但在用户注销并尝试重新登录之前,这将不会执行任何操作...因此,如何强制此用户退出?最好不要每次检查他们查看页面是否他们的状态已被切换为"禁止",因为这似乎是我服务器上的不必要的压力.感谢任何帮助,谢谢.

php session login logout

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

HHVM(HipHop)是否支持Postgresql/arbitary pecl扩展?

Facebook今天发布了一个重大声明--HHVM正在取代原来的hiphop编译器.

旧的HipHop对扩展的支持有限 - 包括IIRC,没有postgres支持.

HHVM是否支持所有pecl扩展?它支持多少标准PHP库?

什么 HHVM支持?

php postgresql pecl hiphop hhvm

7
推荐指数
1
解决办法
6151
查看次数

学习正则表达式(PHP)的最佳位置是什么?

学习正则表达式(PHP)的最佳位置是什么?

php regex

5
推荐指数
1
解决办法
1294
查看次数

标签 统计

php ×9

postgresql ×3

session ×2

apache ×1

apc ×1

curl ×1

date ×1

date-of-birth ×1

hhvm ×1

hiphop ×1

http ×1

ip ×1

keep-alive ×1

kill ×1

libcurl ×1

linux ×1

login ×1

logout ×1

pecl ×1

popen ×1

porting ×1

regex ×1

schema ×1