【问题标题】:PHPUnit - Call to undefined function http_parse_headers() error [duplicate]PHPUnit - 调用未定义的函数http_parse_headers()错误[重复]
【发布时间】:2014-08-31 22:44:00
【问题描述】:

我有以下代码

protected function parse($header) { $headerArr = http_parse_headers($header); foreach ($headerArr as $key => $value) { echo $key.'=>'.$value; } }

其中 $header 是一个 http 标头。此代码位于 symfony2 项目的 PHP 类中。我可以在浏览器中执行它并得到预期的结果解析头的键和值,像这样

  • 响应代码=>200
  • 响应状态=>正常
  • 日期=>2014 年 7 月 13 日星期日 21:39:51 GMT
  • 服务器=>Apache/2.4.7 (Ubuntu)
  • Last-Modified=>2014 年 3 月 26 日星期三 22:51:46 GMT
  • Etag=>502-4f58a50290480
  • 接受范围=>字节
  • 内容长度=>1282
  • 内容处置=>附件;文件名= mvc.zip
  • Keep-Alive=>超时=5,最大值=100
  • 连接=>保持活动状态
  • Content-Type=>应用程序/zip

问题是当我尝试为函数 parse() 运行单元测试时,PHPUnit 找不到 http_parse_headers() 函数并抛出“PHP 致命错误:调用未定义函数 http_parse_headers()

这怎么可能? 我该如何解决?

【问题讨论】:

    标签: symfony phpunit


    【解决方案1】:

    快速搜索 PHP 手册显示 http_parse_headers 是 pecl 扩展的一部分:PECL pecl_http >= 0.10.0

    您的服务器和命令行 php 版本必须不同。 php 手册有一个解决方法,但希望你可以更新你的命令行版本。

    【讨论】:

    • 我的服务器是我自己的计算机,所以我在与我的服务器相同的地方运行命令行。 php 显示的我的 PHP 版本 - 版本命令是 PHP 5.5.9-1ubuntu4 (cli) (built: Apr 9 2014 17:08:27)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2014-03-21
    • 2013-02-17
    • 2016-04-08
    • 1970-01-01
    • 2021-08-08
    相关资源
    最近更新 更多