没有任何明显的原因,我无法再更新 Composer 管理的依赖项。经过一番调查,事实证明 PHP 在其exec
方法的任何使用前都添加了一个额外的字符。
基本示例:
php -r "var_dump(exec('echo lol', $output, $exit), $output, $exit);"
分发 :
string(4) "♀lol"
array(1) {
[0] =>
string(4) "♀lol"
}
int(0)
该♀
字符实际上是一个FF
(换页)字符(0x0C)。
我的谷歌搜索把我带到了这里:
但似乎我的问题与本主题中的问题不同,因为在它中,可怕的角色出现了shell_exec
and not exec
。就我而言,它确实出现在exec
.
对此有什么想法吗?我想知道我应该在这里还是在 SuperUser 上发帖,如果它不属于这里,请随时移动这个问题。
编辑:顺便说一句,我在 Windows 7 64 位上,使用 Wamp 和 PHP 5.4.12 :)
编辑2:输出php-v
:
PHP 5.4.12 (cli) (built: Feb 25 2013 00:29:22)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
输出php --ini
:
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: C:\wamp\bin\php\php5.4.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)