小编Jer*_*oen的帖子

为什么PHP在编译为字节码文件时使用操作码缓存?

从我的角度来看,PHP和Java都有类似的结构.首先,您编写一些高级代码,然后必须以更简单的代码格式进行翻译才能由VM执行.一个区别是,PHP直接从源代码文件中工作,而Java将字节码存储在.class文件中,VM可以从中加载它们.

如今,对快速PHP执行的要求越来越高,这使人们相信直接使用操作码更好,而不是每次用户点击文件时都要经过编译步骤.

该解决方案似乎是所谓的加速器的加载,它基本上将编译结果存储在缓存中,然后使用缓存的操作码而不是再次编译.

另一种由Facebook完成的方法是将PHP代码完全编译为另一种语言.

所以我的问题是,为什么PHP世界中没有人在做Java所做的事情?是否有一些动态元素确实需要每次重新编译或类似的东西?否则,在代码投入生产时编译所有内容然后只需使用它就会更加智能.

php apc

37
推荐指数
2
解决办法
7112
查看次数

PHP中的关键字分析

对于我正在构建的Web应用程序,我需要分析一个网站,检索并排列它最重要的关键字并显示它们.

获取所有单词,密度和显示它们相对简单,但这会产生非常不正确的结果(例如,停用词排名非常高).

基本上,我的问题是:如何在PHP中创建关键字分析工具,从而使列表按字重要性正确排序?

php analytics full-text-search pagerank keyword

23
推荐指数
1
解决办法
8726
查看次数

如何扩展PHP

我正在用PHP创建一个新的Web应用程序,我想以一种随着时间推移而扩展的方式创建它.

我应该或不应该做什么?我知道我应该缓存,但我应该缓存什么以及如何缓存?我还能做些什么让网站保持快速加载?

php scalability

10
推荐指数
1
解决办法
1238
查看次数

Grunt和hood.ie测试数据库

我目前正在使用Grunt,Karma,JasmineProtractorAngularJS上运行我的测试套件.我正在使用的数据库是hood.ie,它是CouchDB之上的一个库.我在我的Gruntfile中使用以下代码启动hood.ie:

hoodie: {
  start: {
    options: {
      callback: function(config) {
        grunt.config.set('connect.proxies.0.port', config.stack.couch.port);
      }
    }
  }
},
Run Code Online (Sandbox Code Playgroud)

但是,我想有一个单独的数据库来运行测试,之后会自动重置.这样,生产数据不会与测试冲突.

我该怎么做呢?我认为有一种标准的方式可以做到这一点,因为我可以想象其他人遇到了同样的问题,但我无法在互联网上找到任何东西.

javascript couchdb jasmine gruntjs hoodie

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

Facebook API人员搜索按国家/地区筛选

我正在尝试使用Facebook API(图谱API或FQL,无论哪个有效)搜索人.到目前为止,它工作正常,但我不能让它按国家或语言过滤.

我目前正在检索此网址:

'https://graph.facebook.com/search?q=' . somename . '&type=user&access_token=' . $access_token
Run Code Online (Sandbox Code Playgroud)

我已经尝试添加&locale = ...但这也不起作用.

php facebook facebook-fql facebook-graph-api

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

父名称服务器

我一直在试图找出如何检测父域名服务器与域名关联的内容.例如,当您使用intoDNS搜索域名时,它会显示"正常"和父名称服务器的结果.他们提到了父名称服务器是什么,如下所示:

k.gtld-servers.net非常友好地向我们提供了这些信息.

但他们怎么知道他们必须查询这个特定的名称服务器?父名称服务器的几个示例:

stackoverflow.com   k.gtld-servers.net
google.com          c.gtld-servers.net
ycombinator.com     a.gtld-servers.net
asp.net             g.gtld-servers.net
google.nl           sns-pb.isc.org
google.de           z.nic.de
Run Code Online (Sandbox Code Playgroud)

似乎所有通用TLD都可以在某个子域中查询gtld-servers.net.

现在,我发现PHP中的'普通'名称服务器如下:

$nameservers = dns_get_record($domain_name, DNS_NS);
Run Code Online (Sandbox Code Playgroud)

所以,我想知道,如何找出特定域的父名称服务器是什么,以及如何使用PHP查询?


更新

我发现UNIX' nslookup工具接受服务器参数.如果它是空的,它返回与PHP相同的结果dns_get_record,但如果它是http://www.iana.org/domains/root/db上指定的该顶级域的根服务器之一,它将返回与intoDNS列表相同的结果作为父服务器的结果.

剩下的唯一问题是如何查询这个特定的服务器,因为我更不愿意直接exec()调用nslookup.有没有人知道dns_get_record允许您指定服务器的替代方案?

php dns nameservers

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

使用preg_match拆分邮件头

我必须通过电子邮件发送标题,我想提取不同的数据:来自主题,日期等.

$mail1 = 'From: <encuestas@despegar.com>
To: 4fb661d55e409@ventas.ciudades.com
Subject: Califique nuestro servicio
Date: Sat, 19 May 2012 10:39:04 -0400
Message-ID: <3b6401cd35cd$23d08b90$0c01010a@despexds.net>
MIME-Version: 1.0';

$mail2 = 'Date: Fri, 21 Oct 2011 13:42:46 +0000 (GMT)
From: "Decolar.com" <non-reply@despegar.com>
To: 4ea15be894aca@ventas.ciudades.com
Message-ID: <2009175400.15674.1319204566275.JavaMail.root@uns02>
Subject: =?UTF-8?Q?Decolar.com_-_Solicita=C3=A7=C3=A3o_?=
 =?UTF-8?Q?de_compra_-_N=C3=BAmero:10603789?=
MIME-Version: 1.0';


preg_match("/Subject: (.)*(Date|Message-ID|From|To|MIME-Version):/s",$mail1,$m);        
print_r($m);       
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的代码来获取主题,但结果不是预期的.

对于mail1,我得到:

Array
(
    [0] => Subject: Califique nuestro servicio
Date: Sat, 19 May 2012 10:39:04 -0400
Message-ID: <3b6401cd35cd$23d08b90$0c01010a@despexds.net>
MIME-Version:
    [1] => 

    [2] => MIME-Version
)
Run Code Online (Sandbox Code Playgroud)

对于mail2,我得到:

Array
(
    [0] => Subject: =?UTF-8?Q?Decolar.com_-_Solicita=C3=A7=C3=A3o_?= …
Run Code Online (Sandbox Code Playgroud)

php pcre

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