尝试从php调用aws cli,但是简单的测试shell_exec('aws help');
将导致以下错误:
Traceback (most recent call last):
File "aws", line 27, in <module>
File "aws", line 23, in main
File "awscli\clidriver.pyc", line 59, in main
File "awscli\clidriver.pyc", line 197, in main
File "awscli\argparser.pyc", line 100, in parse_known_args
LookupError: unknown encoding: cp65001
直接在命令窗口(cmd.exe)中运行时,它的运行效果非常好。
Python版本:
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
出于某种原因,shell_exec默认使用utf8 / cp65001 ...
答案 0 :(得分:0)
在尝试设置不同的语言环境配置和php设置后,终于找到了解决方案。
在任何chcp
解决之前,先致电shell_exec
!
exec("chcp 850");