PHP exec返回ascii字符


PHP exec returns ascii characters

我想在我的页面上显示PHP版本,我的服务器上有两个PHP二进制文件。一个用于网站(即/public_html/中的内容使用),另一个用于命令行。

这两个PHP都有不同的版本,所以我想使用web服务器显示CLI PHP版本。我有两个二进制文件的路径。

我正在使用:

exec('/usr/bin/php-cli -r "echo phpversion();"', $phpversion, $ret);
echo $phpversion = implode('', $phpversion);

但它给了我一些浏览器无法识别的ascii代码。

我得到的输出是�2�3�34��V.B

怎么了?

我设法解决了这个问题。出现此问题是因为zlib.output_compression已打开。我刚关掉它,它就解决了问题。谢谢你们的回复。

这是一个字符集问题。

在将任何输出发送到浏览器之前,请执行以下操作:

header('Content-Type: text/html; charset=utf-8');

在我看来,您的浏览器有另一个默认值UTF-8。当我运行您的代码时,我会得到"5.4.6-1~dotdeb.0"