尝试加载类" PDO"从命名空间

时间:2017-03-30 08:03:39

标签: php mysql database symfony pdo

当我运行此行

$pdo = new \PDO('mysql:host=localhost;dbname=mydata','root', null);

我收到此错误

  [Symfony\Component\Debug\Exception\ClassNotFoundException]                 
  Attempted to load class "PDO" from namespace "check\roomsBundle\Command".  
  Did you forget a "use" statement for another namespace?      

我尝试将此行添加到我的parametrs.yml

database_driver: pdo_pgsql
and 
database_driver: pdo_mysql

但我仍然遇到这个错误,我使用的是symfony2.8和mysql

class SocketCommand extends ContainerAwareCommand
{
    protected function configure()
    {
      //some code here
    }

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

        //somecode here

        $pdo = new \PDO('mysql:host=localhost;dbname=mydata', 'root', null);

}

1 个答案:

答案 0 :(得分:2)

看起来你似乎没有PDO扩展,因为语法是正确的。 在Ubuntu / Debian上,您应该能够使用

从apt安装必要的PDO部件
sudo apt-get install php-mysql

或 旧仓库上的apt-get install php5-mysql

此外,您必须在php.ini中启用它:extension=pdo_mysql.so

但是如果您有扩展名,可以尝试添加

 use \PDO; 

在你的包中