Ric*_*Raz 5 php mysql pdo symfony doctrine-orm
我只是尝试symfony 3,我使用Doctrine ORM将数据插入数据库.当我尝试运行我的查询时
$customer = new Customer();
$customer->setAddress('Some Address');
$customer->setName('Customer 1');
$order->setQuantity('100');
$order->setDate(date('Y-m-d'));
$order->setCustomer($customer);
$em = $this->getDoctrine()->getManager();
$em->persist($customer);
$em->persist($order);
$em->flush();
Run Code Online (Sandbox Code Playgroud)
但它返回一个例外:
Uncaught PHP Exception Doctrine\DBAL\Exception\DriverException: "An exception occurred in driver: could not find driver" at /home/hei/Sites/practice/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 121
Run Code Online (Sandbox Code Playgroud)
Parameters.yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: practice
database_user: root
database_password: null
Run Code Online (Sandbox Code Playgroud)
Config.yml
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
Run Code Online (Sandbox Code Playgroud)
我还检查扩展是否已启用并通过php -m和phpinfo()加载.它说PDO和PDO_Mysql已启用.
然后在php.ini中添加这两行:
extension=pdo.so
extension=pdo_mysql.so
Run Code Online (Sandbox Code Playgroud)
但我仍然有相同的PDO例外.
我的操作系统是Ubuntu 17.1
Nig*_*fox 14
我相信你的系统中缺少php-mysql包.使用该命令安装软件包
sudo apt-get install php-mysql
Run Code Online (Sandbox Code Playgroud)
我希望这能解决你的问题.
我认为您还需要重启Apache才能解决问题.安装php-mysql后,使用以下命令重启Apache
sudo service apache2 restart.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29387 次 |
| 最近记录: |