Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP Docker容器/phpbrew for PHP5.3.10中获取Symfony条令实体管理器_Php_Mysql_Symfony_Doctrine Orm_Phpbrew - Fatal编程技术网

在PHP Docker容器/phpbrew for PHP5.3.10中获取Symfony条令实体管理器

在PHP Docker容器/phpbrew for PHP5.3.10中获取Symfony条令实体管理器,php,mysql,symfony,doctrine-orm,phpbrew,Php,Mysql,Symfony,Doctrine Orm,Phpbrew,我正试图用PHP5.3.10在Docker下运行Symfony命令。当我排到这样一行时 class Data{ public function prepareData(){ echo 'before getContainer'; $em = $this->getContainer()->get('doctrine.orm.entity_manager')->getConnection(); echo 'after get

我正试图用PHP5.3.10在Docker下运行Symfony命令。当我排到这样一行时

class Data{

    public function prepareData(){
        echo 'before getContainer';
        $em = $this->getContainer()->get('doctrine.orm.entity_manager')->getConnection();
        echo 'after getContainer';

    }
}
它默默地失败了

用于设置容器的docker命令为

docker run --network="host" -t -i -p 80:80 -v /srv/www/live/:/srv/www/live/ -v /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock bylexus/apache-php53 /bin/bash
在Docker容器中安装mysql,然后可以登录并查看本地系统上存在的数据库

我在Docker容器中运行的Symfony命令如下

php app/console mytask:preparedata

它执行
prepareData
功能。“after-getContainer”从不回显,只回显“before-getContainer”。日志中没有任何内容,Apache、MySQL或Symfony

您知道如何调试它,或者如何使容器像发生在Docker外部一样运行吗

更新


我现在已经用phpbrew测试了这个。它可以在PHP版本5.6.30上工作,但不能在所需的PHP版本5.3.10上工作(停止在与上面相同的
$em=$this->getContainer
行)。奇怪的是,它在phpbrew中的PHP7.0.3上也不起作用。就PHP版本而言,这可能是Symfony或条令相关的问题吗?

我尝试了其他一些Symfony CLI命令,并注意到有时条令的供应商存储库(通过composer安装)中会出现致命错误。经检查,这里是使用PHP5.4语法(方括号)初始化数组的地方。当然,这在5.3的容器中是行不通的。因此,我降级了
条令/cache
条令/common
条令/orm
,命令现在正在运行。

我尝试了一些其他Symfony CLI命令,并注意到有时条令的供应商存储库中会出现致命错误,这些错误是通过composer安装的。经检查,这里是使用PHP5.4语法(方括号)初始化数组的地方。当然,这在5.3的容器中是行不通的。因此我降级了
条令/cache
条令/common
条令/orm
,命令现在运行

use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Input\InputArgument;

class PrepareDataCommand extends Command
{

    protected function configure()
    {
        parent::configure();

        $this->setName('mytask:preparedata');
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {

          $this->getHelper('Data')->prepareData();

    }

}