2011-09-29 36 views
5

Tôi đã chuyển từ WAMP sang EasyPHP và hiện tại có sự cố khi sử dụng PDO. PDO hoạt động tốt khi tôi xem trang web trong trình duyệt, nhưng không hoạt động trong cmd hoặc khi tôi chạy tệp thử nghiệm qua Netbeans. tôi nhận được:Mở rộng PDO PHP không có sẵn là dòng lệnh

"PDOException: không thể tìm thấy tài xế"

Trong phpinfo() cho Configure lệnh Tôi có

cscript /nologo configure.js " --enable-snapshot-build" " --disable-isapi" " --enable-debug-pack" " --disable-isapi" " --without-mssql" " --without-pdo-mssql" " --without-pi3web" " --with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8-11g=D:\php-sdk\oracle\instantclient11\sdk, shared" " --enable-object-out-dir=../obj/" " --enable-com-dotnet" " --with-mcrypt=static" " --disable-static-analyze" 

Trong php.ini Tôi đã uncomment những dòng này:

extension=php_pdo_mysql.dll 

extension=php_mysql.dll 

Bất kỳ ý tưởng nào về cách tôi có thể làm việc này?

+2

Có vẻ như đang tải sai php.ini. 'phpinfo()' sẽ cho bạn biết điều đó. – Znarkus

Trả lời

2

Tất cả cài đặt máy chủ web bạn phải ở trong linux hoặc cửa sổ thường sử dụng 2 php.ini khác nhau. Một cho CLI (máy khách dòng lệnh) và một cho APACHE hoặc wathever máy chủ là trong easyphp.

Tôi không thể giúp bạn nhiều hơn thế vì tôi đang sử dụng Linux và không sử dụng EasyPHP, nhưng nhìn theo hướng đó, có thể tìm kiếm trên toàn hệ thống có thể giúp bạn?

0

Tôi đã tìm ra giải pháp cho vấn đề. Như Mathieu Dumoulin đã chỉ ra, PHP đã tải một .ini khác cho CLI. Vì vậy, những gì tôi đã làm là tạo ra một tập tin php-cli.ini dưới thư mục php và vấn đề đã được giải quyết.

5

Khi chạy php từ dòng lệnh, bạn có thể sử dụng đối số -c hoặc --php-ini để trỏ đến tệp php.ini để sử dụng. Điều này sẽ cho phép bạn sử dụng một tập tin php.ini cho cả hai. Bạn cũng có thể bí danh php đến php -c/path/to/php.ini nếu bạn đang chạy tập lệnh.

Các vấn đề liên quan