带有 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
添加花括号有帮助吗? <?php if(function_exists("http_parse_headers")) echo 'Function Exists'; else echo 'Function Does Not Exist'; ?>
参考: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的主要内容,如果未能解决你的问题,请参考以下文章
带有多个链接的 NSAttributedString 的 UILabel,带有行限制,显示尾部截断,带有未见文本的 NSBackgroundColorAttributeName