我试图获取每个PDO驱动程序的所有方法(我的Windows PC上都安装了所有方法)。
但是,例如,如果我尝试使用Postgres(pdo_pgsql):
var_export(get_class_methods('PDO'));
结果是:
array (
0 => '__construct',
1 => 'prepare',
2 => 'beginTransaction',
3 => 'commit',
4 => 'rollBack',
5 => 'inTransaction',
6 => 'setAttribute',
7 => 'exec',
8 => 'query',
9 => 'lastInsertId',
10 => 'errorCode',
11 => 'errorInfo',
12 => 'getAttribute',
13 => 'quote',
14 => '__wakeup',
15 => '__sleep',
16 => 'getAvailableDrivers',
)
Run Code Online (Sandbox Code Playgroud)
但是此列表不完整,因为PDO Postgres包含以下方法:
$pdo->pgsqlCopyToArray('my_table');
有没有办法获取所有方法,而不仅仅是PDO默认值?
在此先感谢,Celso
编辑:
我也尝试过反射,结果像get_class_methods()一样不完整:
var_export(array_column((new ReflectionClass('PDO'))->getMethods(), 'name'));
结果是一样的:
array (
0 => '__construct',
1 => 'prepare',
2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 ubuntu VM 中以无根模式运行 docker。
sudo apt-get install -y uidmap
curl -fsSL https://get.docker.com/rootless | sh
export DOCKER_HOST=unix:///run/user/1000/docker.sock
systemctl --user status docker
Run Code Online (Sandbox Code Playgroud)
是否可以帮助解决此问题,或者是否有其他解决方法。
提前致谢。
我尝试过切换用户并执行,但这些命令仍然没有执行。
sudo apt-get install -y uidmap
curl -fsSL https://get.docker.com/rootless | sh
export DOCKER_HOST=unix:///run/user/1000/docker.sock
systemctl --user status docker
Run Code Online (Sandbox Code Playgroud)
我想使用 terraform run 模块或任何其他方式自动执行此操作,但唯一的事情是在配置虚拟机后应该执行此操作。