PHP Phar文件末尾的无效字符打印到生产服务器上的屏幕,但不在本地服务器上

时间:2013-12-05 01:31:12

标签: php encoding phar

我构建了一个Drupal网站,其中包含一个自定义模块,用于集成名为MemberSuite的公司的功能。 MemberSuite的PHP API位于.phar文件中。我对.phar文件没什么经验,但是在我当地的Ubuntu机器上一切都很好。

将所有内容上传到实时服务器后,我在每个页面的顶部都发现了奇怪的字符。将问题追溯到.phar文件,并在关闭PHP标记后发现乱码:

enter image description here

这不会导致本地计算机出现任何问题,但会将以下内容输出到实时服务器:

enter image description here

我认为这与编码有关,但我不是这方面的专家。我尝试从.phar文件的末尾删除字符,但由于.phar文件的哈希/安全检查,这会导致致命的错误。

是否有一个简单的PHP配置设置会导致.phar文件在一台服务器而不是另一台服务器上运行?

1 个答案:

答案 0 :(得分:0)

  • 这不是BOM,只是在文件的开头
  • Phar文件是存档文件,其中有标记确定phar中文件的开头和结尾。你看到这样一个
  • 它在一台服务器上运行而在另一台服务器上运行通常是一些版本冲突。检查服务器和本地计算机上的PHP版本。当地人可能会更高。
    • 降级本地PHP版本,您可能会重现错误。
    • 将PHP版本与您的memberuite api phar文件的推荐/最低版本进行比较。
  • 或者,提取phar并直接使用文件