带有 PECL_HTTP 的 http_parse_headers

Posted

技术标签:

【中文标题】带有 PECL_HTTP 的 http_parse_headers【英文标题】:http_parse_headers with PECL_HTTP 【发布时间】:2016-04-12 17:28:11 【问题描述】:

我想使用http_parse_headers 所以,我安装了依赖pecl_http(2.4.3/2.2.5) 并调用http_parse_headers 函数没有成功。

function_exists() 总是失败我这里有什么遗漏吗?

我正在使用

CentOS 6.7(最终版)

Apache 2.4.16

PHP 5.6

更新 1

这是代码!

<?php
    if(function_exists("http_parse_headers")) echo 'Function Exists';
    else echo 'Function Not Exists';
?>

更新 2

这里是php.ini

......
......
extension=pdo.so
extension=pdo_sqlite.so
extension="memcache.so"
extension="raphf.so"
extension="propro.so"
extension="http.so"
extension=pdo_mysql.so

更新 3

这是phpinfo()的输出

【问题讨论】:

你安装后重启过apache吗? 是的,我已经使用service httpd restart重新启动 你是否在你的 php.ini 中启用了它?添加这些:extension=raphf.so、extension=propro.so、extension=http.so 是的,请检查更新 2 添加花括号有帮助吗? &lt;?php if(function_exists("http_parse_headers")) echo 'Function Exists'; else echo 'Function Does Not Exist'; ?&gt; 参考:php.net/manual/en/function.function-exists.php 和如下所示:php.net/manual/en/function.http-parse-headers.php print_r(http_parse_headers($headers)); 显示什么?也许这可能会有所帮助***.com/questions/6368574/… 【参考方案1】:

好的,经过长时间的搜索,我发现了

PECL_HTTP 库的Version 2 与Version 1 完全不兼容Version 2 中不存在任何 HTTP 函数

PHP.net 上的文档中的任何地方都没有说明这一点。

顺便说一下,Version 2 是一个完全 OOP 接口,并且不再支持文档中列出的所有功能 here。

如果您正在寻找功能性 API,请使用 Version 1

因此,正如 Ricardo 所建议的,您需要使用

http\Header::parse($yourHeaders);

解析头部和

new http\Cookie($yourCookies);

解析cookie等

【讨论】:

【参考方案2】:

PHP 文档不正确。该库的版本 2 与 php.net 中列出的功能不兼容。

阅读new documentation,您现在必须像这样使用HTTP::parse:

http\Header::parse($yourHeaders)

【讨论】:

以上是关于带有 PECL_HTTP 的 http_parse_headers的主要内容,如果未能解决你的问题,请参考以下文章

PHP HTTP请求

php实现httpRequest的方法

带有多个链接的 NSAttributedString 的 UILabel,带有行限制,显示尾部截断,带有未见文本的 NSBackgroundColorAttributeName

使用带有 uuencode 的“sendmail”发送邮件,并带有主题

带有和不带有聚合的 sql 查询

带有滚动的 Div 和带有绝对位置的内容