首页 > 解决方案 > PhpStorm 或 localhost 中的结帐后 + Docker

问题描述

我需要帮助解决这个问题,拜托。我有(php_web,mysql)的docker,一切正常。我想在 PhpStorm 中使用 Git(提交前、签出后……)。但如果结帐分行

git checkout #xyz

我收到错误

“Doctrine\DBAL\Exception\ConnectionException:驱动程序中发生异常:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo 失败:提供节点名或服务名,或在 /project/libs/vendor/doctrine/dbal/lib/Doctrine 中未知/DBAL/Driver/AbstractMySQLDriver.php:103"

这个问题是在本地机器上调用命令引起的,而不是在docker中。但我不知道如何编辑我的结帐后。

#!/bin/bash

docker exec -i php_web /bin/sh
#ID
echo $$ #there is LocalMachines ID

echo -e "*********************************"
echo -e "*********GENERATE-PROXIES********"
echo -e "*********************************"


#regenerate proxies
#php bin/console orm:generate-proxies localhost:8100
php bin/console orm:generate-proxies

标签: phpgitdockerconsolephpstorm

解决方案


您应该按照docker exec手册页尝试直接执行您需要的命令:

docker exec -it php_web /bin/sh -c "php bin/console orm:generate-proxies"

至少,这将在容器的上下文中执行,而不是在本地机器中执行。


推荐阅读