Tôi nhận được một lỗi thực sự lạ, vô nghĩa và hoàn toàn ngẫu nhiên khi tôi tìm nạp hàng từ tài nguyên (truy vấn) bằng PHP.Lỗi MySQL lạ "Rỗng dữ liệu gói hàng" khi sử dụng mysql_fetch_object (PHP 5.3.3)
Máy phát triển của tôi là Windows XP SP3 với Apache 2.2 trong khi MySQL chạy trên máy ảo, sử dụng ubuntu 10.04, với 768mb ram, 100GB HDD và 4 lõi logic (Intel q6600). Tuy nhiên vấn đề này không liên quan đến PHP trên cửa sổ vì tôi nhận được cùng một lỗi khi tôi chạy mã trên máy cơ sở dữ liệu.
Tôi đang sử dụng mysql
tiện ích mở rộng (không phải mysqli
hoặc mysqlnd
), nhưng tìm kiếm xung quanh tôi đã tạo ra một bản vá liên quan đến lỗi này liên quan đến phần mở rộng mysqlnd, vì vậy, có lẽ, tôi nên thử.
Vấn đề chính là khi tôi thực hiện truy vấn này (một truy vấn thực sự lớn với một vài bảng có nguồn gốc và hơn 20 lần tham gia) và xử lý kết quả nhanh và mọi thứ suôn sẻ, nhưng khi mã của tôi dành khoảng 15/20 giây để xử lý một khối các hàng (tôi cần xây dựng một đối tượng từ một khối các hàng được liên kết theo cách thực sự đặc biệt giữa chúng, tôi không thể thay đổi điều này, cơ sở dữ liệu không phải của tôi, và tạo một số PDF từ đối tượng này) sau một thời gian (thời gian ngẫu nhiên) Tôi nhận được lỗi này "Empty body packet body".
Tôi sử dụng truy vấn không được lọc để giảm mức tiêu thụ bộ nhớ (nếu tôi bật bộ đệm, tôi nhận được khoảng 260MB bộ nhớ đã sử dụng) nhưng điều này không phải là vấn đề.
Bạn có thể hiển thị một số mã không? Thời gian chờ lệnh của bạn được đặt là gì? – Fosco
sự cố không liên quan đến hết thời gian chờ hoặc giới hạn bộ nhớ vì tôi đã vô hiệu hóa lần đầu tiên và đặt thành giá trị rất rất cao thứ hai –
Nơi tôi làm việc chúng tôi phát triển bằng cách sử dụng Apache 2.2/PHP 5.3.3 cục bộ trên Windows XP Pro SP3 quá, và một máy chủ cơ sở dữ liệu thử nghiệm được chia sẻ, và chúng tôi nhận được lỗi này tất cả các thời gian. BAO GIỜ, thiết lập Apache/Linux được chia sẻ, có phiên bản tôi không biết, không đưa ra lỗi này, vì vậy điều này có thể cho thấy sự cố có thể do phiên bản Apache hoặc thứ gì đó tương tự thay vì cấu hình hoặc sử dụng cơ sở dữ liệu! –