我在我的linux系统上安装了Lampp,我正在学习symfony2,同时尝试使用symfony2命令创建模式
php app/console doctrine:schema:create
我收到以下错误消息: -
PDOException “could not find driver”
我还在php.ini文件中取消注释这一行extension=php_pdo_mysql.dll
我试图查看并查看我的问题,但无法解决我的问题。当我运行php -m
命令时,我得到以下结果: -
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysql.so' - /usr/lib/php5/20090626+lfs/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysqli.so' - /usr/lib/php5/20090626+lfs/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo_mysql.so' - /usr/lib/php5/20090626+lfs/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
mhash
openssl
pcntl
pcre
PDO
----
----
有没有办法可以解决这个问题?
答案 0 :(得分:11)
在Ubuntu中,写入控制台
sudo apt-get install php5-gd php5-mysql
它会起作用
答案 1 :(得分:8)
希望您在localhost中运行您的项目。在项目文件夹app / config中有一个名为parameters.ini的文件,请确保您的Mysql数据库连接配置正确。如果您使用的是mysql,请参阅database_driver=pdo_mysql
是其驱动程序。
以下是一个例子。
database_driver = pdo_mysql
database_host = localhost
database_port =
database_name = databasename
database_user = msqlusername
database_password = mysqlpassword//if not make blank
mailer_transport = smtp
mailer_host = localhost
mailer_user =
mailer_password =
locale = en
secret = ThisTokenIsNotSoSecretChangeIt
希望它对你有所帮助。
答案 2 :(得分:5)
您需要一个名为pdo_mysql
的模块。
在phpinfo()
输出
pdo_mysql =>用于MySQL的PDO驱动程序,客户端库版本=> 44年1月5日
要安装pdo_mysql,您需要这样做:
pecl install pdo
pecl install pdo_mysql
然后将以下内容添加到php.ini
文件中:
extension=pdo.so
extension=pdo_mysql.so
答案 3 :(得分:1)
brew install php70-pdo-pgsql
如果您使用brew在Mac上安装php7,请根据您安装的内容更改php版本。
答案 4 :(得分:1)
我的服务器PHP 5.6和PHP 7中安装了两个PHP版本
当我运行命令[PDOException] could not find driver
时,我收到错误:php5.6 app/console doctrine:schema:update
我通过指定PHP版本来解决此错误:
[-3. -2]
答案 5 :(得分:0)
看起来你的安装缺少实现mysql连接所需的.so文件。如果您正在使用包管理系统来安装PHP,那么请确保您已经安装了所有必需的子模块(在这种情况下,我认为您将需要mysql-dev和各种PHP PDO模块),尽管这些依赖应该具有包管理器为您解决了。
如果您没有通过包管理器,那么您将必须从源代码编译所需的.so文件。
答案 6 :(得分:0)
如果您正在使用XAMPP,那么在php.ini文件行中没有897(取决于版本),
;extension=php_pdo_pgsql.dll
取消注释,然后它显示如下
extension=php_pdo_pgsql.dll
在php.ini文件行中没有897,然后重新启动XAMPP。
答案 7 :(得分:0)
我遇到了同样的问题,对我来说,它有多个PHP版本。 因此,指定PHP的完整地址即可解决问题。
答案 8 :(得分:0)
添加到 Jaspreet Chahal 的回答中。
将 PDO 安装为共享模块时,需要更新 php.ini 文件,以便在 PHP 运行时自动加载 PDO 扩展。您还需要在那里启用任何特定于数据库的驱动程序;确保它们列在 pdo.so 行之后,因为在加载特定于数据库的扩展之前必须初始化 PDO。如果您静态构建 PDO 和特定于数据库的扩展,则可以跳过此步骤 (Source)。
我的意思是,它应该看起来像这样 -
extension=pdo.so
应该放在不同数据库驱动的扩展之前。