2014-02-20 135 views
3

一些奇怪的字符在一些php控制台命令的开头输出。php cli输出中的奇怪字符

运行composer输出正常,但laravel artisanphpunit输出´╗┐

Example

我试着工匠和PHPUnit的文件编码为UTF-8无BOM喜欢提出在php 5.3 CLI junk characters,但这不是问题。

我使用ConEmu v131215在Windows XP x64和PHP 5.4.24

问:我在哪里可以找到可能输出的奇怪的字符,在每一个PHP命令行开始显示文件程序?

编辑: @Maximus即使在Windows控制台中发生这种问题,所以我没有标记ConEmu。 安装一个新的PHP 5.3默认的php.ini产生相同的结果

PHP 5.3 output

我不知道,如果它是一个操作系统问题或UTF-8 BOM地方。我会稍后尝试在家中安装一台全新安装的Win XP x64虚拟机。

编辑2:我已经解决了这个问题。我在特定的作曲家项目中上传的lib文件是问题所在。谢谢你们的帮助!

+0

我想知道为什么人们关闭这个问题,因为我很清楚,但为了让事情更加明显,我在底部添加了这个问题。 – Sven

+0

我相信,这个问题与ConEmu无关。如果您在标准Windows控制台中运行命令,会发生什么情况?而且,如果您在ConEmu中运行它们,但在Settings \ Features ConEmu页面上禁用了“ANSI X3.64”选项?另外,有趣的是,在执行过程中运行了什么确切的命令。可能是PHP使用BOM创建临时文件。您可以使用ProcessMonitor或ConEmu Settings \ Debug \ Shell监控进程启动。 – Maximus

回答

1

我在该项目中上传的供应商lib文件是问题所在。

这个文件被作曲家鼓吹,所以每次我用vendor\autoload.php这个带BOM的文件产生了这个char。

+0

嗯,这是什么厂商的lib文件?知道这一点非常有用。 – dKen

+0

@dKen它是我很久以前用过的一个旧的FusionCharts库。它已经通过'composer.json'自动加载 – gmsantos