2012-02-16 40 views
12

Tôi đã cài đặt lampp trên hệ thống Linux của tôi, và tôi đang học symfony2, trong khi cố gắng để tạo ra các sơ đồ với lệnh symfony2PDOException “không thể tìm thấy tài xế” trong php

php app/console doctrine:schema:create 

Tôi nhận được thông báo lỗi sau : -

PDOException “could not find driver” 

tôi cũng bỏ ghi chú dòng này extension=php_pdo_mysql.dll trong tập tin php.ini

tôi cố gắng để tìm kiếm và google vấn đề của tôi, nhưng không thể giải quyết vấn đề của tôi. khi tôi chạy php -m lệnh tôi nhận được kết quả sau: -

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 
---- 
---- 

Có cách nào tôi có thể loại bỏ vấn đề này?

Trả lời

7

Hy vọng bạn đang chạy dự án của mình trong máy chủ cục bộ. Trong ứng dụng thư mục dự án của bạn/config một tập tin có tên parameters.ini, Hãy chắc chắn rằng kết cấu cơ sở dữ liệu Mysql của bạn là đúng. Nếu bạn đang sử dụng mysql Xem database_driver=pdo_mysql là trình điều khiển của nó.

Dưới đây là ví dụ.

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 

Hy vọng nó sẽ giúp bạn.

+0

yes Điều đó đã giúp Nhưng tôi vừa thay đổi hai điều này database_host = "127.0.0.1" database_port = "3306" và nó hoạt động – ScoRpion

+0

Thankyou rất nhiều – ScoRpion

+0

Tôi cũng đã cài đặt mysql trên myubub ubuntu ngoài xampp – ScoRpion

5

Bạn cần có mô-đun có tên pdo_mysql.

Look sau trong phpinfo() đầu ra,

pdo_mysql => PDO driver cho MySQL, thư viện client version => 5.1.44

để cài đặt pdo_mysql bạn cần phải làm điều này:

pecl install pdo 
pecl install pdo_mysql 

và sau đó thêm thông tin sau vào tệp php.ini của bạn:

extension=pdo.so 
extension=pdo_mysql.so 
+0

ahh ok. Tôi nghĩ bạn đang trên Linux. dòng dưới cùng là bạn sẽ cần module pdo_mysql để làm việc PDO của bạn. Tôi không biết về lampp. nó có thể đơn giản như kiểm tra xem tệp dll pdo_mysql có xuất hiện không. Khởi động lại dịch vụ Apache của bạn sau khi bỏ gói pdo_mysql.dll trong tập tin ini của bạn. –

+0

Tôi đang sử dụng lampp. một gói cài đặt php, appache và mysql theo cách riêng của nó thay vì thư mục mặc định..và các cmds này cho tôi lỗi cấu hình : lỗi: Không thể tìm thấy tệp tiêu đề MySQL theo số L ERI: '/ tmp/pear/temp/PDO_MYSQL/configure ' thất bại – ScoRpion

+0

@Jaspreet Chahal, câu trả lời của bạn có hoạt động trên Linux không? Tôi có cùng một vấn đề với OP nhưng tôi không có quyền chỉnh sửa tệp 'php.ini'. Nếu câu trả lời của bạn thực sự hiệu quả, tôi sẽ xin phép người giám sát của tôi đưa nó vào tập tin 'php.ini'. – WashichawbachaW

0

Có vẻ như bản cài đặt của bạn thiếu tệp .so cần để triển khai kết nối mysql. Nếu bạn đang sử dụng hệ thống quản lý gói để cài đặt PHP thì hãy đảm bảo bạn đã cài đặt tất cả các mô-đun con cần thiết (trong trường hợp này tôi nghĩ bạn sẽ cần mysql-dev và các mô-đun PDO PHP khác nhau), đã được người quản lý gói giải quyết cho bạn.

Nếu bạn không duyệt qua trình quản lý gói, bạn sẽ phải biên dịch các tệp .so bắt buộc từ nguồn.

6

Trong Ubuntu, viết trong giao diện điều khiển

sudo apt-get install php5-gd php5-mysql 

và nó sẽ làm việc

+0

php5-gd missing =) sau khi cài đặt tất cả các phần mở rộng, đây là giải pháp cho tôi, cảm ơn! –

1

brew install php70-pdo-pgsql trong trường hợp bạn cài đặt php7 trên mac với bia và, phiên bản php thay đổi theo những gì bạn đã cài đặt.

+0

Cảm ơn điều này đã giúp tôi. – Dblock247

0

nếu bạn đang sử dụng XAMPP thì trong php.dòng tập tin ini không 897 (phụ thuộc vào phiên bản),

;extension=php_pdo_pgsql.dll 

bỏ ghi chú nó, sau đó nó xuất hiện như dưới đây

extension=php_pdo_pgsql.dll 

trong php.ini dòng tập tin không 897, sau đó khởi động XAMPP.

0

Có hai phiên bản PHP được cài đặt trong máy chủ của tôi PHP 5.6 và PHP 7

Khi tôi chạy lệnh php app/console doctrine:schema:update Tôi có lỗi: [PDOException] could not find driver

tôi giải quyết lỗi này bằng cách xác định phiên bản PHP:

php5.6 app/console doctrine:schema:update 
Các vấn đề liên quan