Sự cố với PDO MySQL


7

Trong vài ngày qua tôi đã gặp phải lỗi sau:

Lỗi nghiêm trọng: Hằng số lớp không xác định 'MYSQL_ATTR_USE_BUFFERED_QUERY' trong /home/mydomain/public_html/drupal/includes/database/mysql/database.inc trên dòng 46

Điều này xuất hiện sau khi Hosting của tôi thực hiện nâng cấp và PHP hiện là phiên bản 5.2.17. Từ những gì họ đã nói với tôi, tôi nghĩ rằng tôi phải kích hoạt tiện ích mở rộng PDO MySQL trong php.ini. Vấn đề là tôi đang ở trên một lưu trữ được chia sẻ và tôi không có quyền truy cập vào tệp; Ngoài ra, Hosting của tôi cho biết họ cũng không thể thay đổi. Thông tin của tôi cho thấy:

PDO

Hỗ trợ PDO kích hoạt
trình điều khiển PDO sqlite, sqlite2

pdo_sqlite
Trình điều khiển PDO cho SQLite 3.x kích hoạt
phiên bản Mô-đun PECL (đóng gói) 1.0.1 $ Id: pdo_sqlite.c 293036 2010-01-03 09: 23: 27Z sebastian $
SQLite Library 3.3.7

Tôi đã thử sửa đổi tệp .htaccess và / hoặc thêm tệp php.ini của riêng tôi vào thư mục gốc theo một số đề xuất tôi tìm thấy, nhưng chưa có gì tôi đã thử làm việc.

Bất cứ ai có thể xin vui lòng đề nghị những gì tôi có thể làm?

BIÊN TẬP:

Một lần nữa tôi đã yêu cầu Hosting kích hoạt tiện ích mở rộng PDO_MyQuery và câu trả lời của họ là họ không thể, đó là cPanel (mà họ đã di chuyển từ Plesk, gây ra toàn bộ vấn đề này) đã tắt tiện ích mở rộng này và thay đổi nó sẽ ảnh hưởng đến máy chủ của họ. Giải pháp của họ? Rằng tôi sẽ thay đổi chương trình của mình để điều chỉnh các tính năng mới này, điều mà tôi thậm chí sẽ không biết cách thực hiện. Họ có đúng yêu cầu tôi làm điều này? Còn cách nào khác không?

Câu trả lời:


8

Gà trống của bạn cần kích hoạt phần mở rộng đó. Tôi không nghĩ bạn có thể làm điều đó trong tệp php.ini cục bộ.

Tôi không tin rằng họ không thể làm điều đó, họ chỉ cần thêm một phần mở rộng = pdo_mysql.so vào php.ini, cài đặt gói, tùy thuộc vào bất kỳ thiết lập nào họ đang sử dụng. Đó là công việc của họ để làm điều đó, pdo_mysql là một yêu cầu khó đối với Drupal 7.


Tôi đã hỏi họ, nhưng câu trả lời của họ là do hạn chế đối với tài khoản lưu trữ được chia sẻ, họ không thể thay đổi cấu hình và tôi chỉ có bất kỳ biến nào đã được bật trong info.php.
Brunn

Sau đó, bạn cần phải tìm một nhà cung cấp dịch vụ lưu trữ khác. Tôi sẽ không muốn dựa vào một nhà cung cấp dịch vụ lưu trữ không có khả năng kích hoạt tiện ích mở rộng PHP :)
Berdir

Sau khi leo thang này với lưu trữ, cuối cùng họ đã kích hoạt tiện ích mở rộng. Nhưng tôi đã nói khách hàng của mình chuyển sang nhà cung cấp khác :) Cảm ơn bạn.
Brunn

0

Trong trường hợp của tôi khi tôi trao đổi phiên bản PHP trong WAMP, lỗi này đã dừng tôi. Tôi đã kiểm tra phpinfo () sau đó tôi thấy PDO được bật nhưng giá trị của nó là Trống

Giải pháp: Truy cập vào tệp php.ini của bạn và tìm "extension_dir" và thay đổi đường dẫn đến thư mục ext của php hiện đang hoạt động.

ví dụ:: extension_dir = "c: /wamp/bin/php/php5.2.9/ext/"

Khởi động lại bạn ướt, nó sẽ bắt đầu hoạt động trở lại ....

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.