2010-11-15 31 views
5

Tính đến ngày hôm qua (có lẽ sau khi cập nhật PHP gần đây?), Tôi nhận được một số lỗi không xác định rất lạ trong php 5.3.3. Chúng cũng xuất hiện trong máy chủ sản xuất của chúng tôi trong PHP 5.3.2.Lỗi tham chiếu không xác định đối tượng trong PHP 5.3.X

Lỗi cơ bản là số tiền là Fatal error: Uncaught exception 'ErrorException' with message 'Attempt to assign property of non-object' ở các phần khác nhau của cơ sở mã. Nói chung, dòng lỗi giống như sau: $this->foo = $bar trong cuộc gọi __construct().

$this không được tìm thấy trong hàm tạo ?!

Tôi không biết điều gì đang diễn ra. Bất kỳ ý tưởng? Đây có phải là sự hồi quy của lỗi này không ?: http://bugs.php.net/31525

Chỉnh sửa: Tôi nên đề cập đến tập lệnh sau một thời gian ngắn, hoàn toàn không thay đổi mã. Do đó không xác định.

Chỉnh sửa 2: Hơn nữa, trong khi PHP được thiết lập để đăng nhập ngay cả nhỏ nhất của lỗi, và đăng nhập lỗi khác khi chúng xảy ra, lỗi này không được ghi lại trong tập tin log. Điều này khiến tôi nghĩ rằng chúng ta đang xem xét một lỗi phụ thuộc của công cụ PHP.

+0

bất kỳ bộ nhớ cache opcode được sử dụng? – ajreal

+0

Trên hộp địa phương của tôi, không có bất kỳ: http://pastie.org/pastes/1300493/text?key=79mmr7dmm10qi4cvy6kvg – Karan

+0

Hiển thị hàm tạo ... Trên thực tế, hiển thị toàn bộ lớp nếu bạn có thể ... Có phải không luôn luôn xảy ra trên cùng một lớp học? Hay lỗi đi lang thang? Bạn có đầy đủ dấu vết để đảm bảo lỗi không được kích hoạt trên một dòng khác, nhưng hiển thị ở đó (giống như bên trong của một phương pháp ma thuật có lẽ)? – ircmaxell

Trả lời

4

Vâng, có vẻ là một lỗi ...

Dưới đây là một số báo cáo lỗi có liên quan:

+0

Vâng, điều này khẳng định sự nghi ngờ của tôi. Chúng tôi sẽ cài đặt bản chụp mới nhất của 5.3.x và sẽ đăng sự tiến bộ của chúng tôi tại đây. Cảm ơn câu trả lời! – Karan

+0

Ngoài sự tò mò, bạn đang sử dụng nền tảng nào (32-bit x86? Hoặc 64-bit x64)? – ircmaxell

+0

Linux karan-desktop 2.6.35-22-generiC# 35-Ubuntu SMP Thứ bảy 16 tháng 10 20:36:48 UTC 2010 i686 GNU/Linux (32 bit) và máy chủ sản xuất đang chạy 64 bit (Linux cyphontech 2.6.32- 25-server # 45-Ubuntu SMP Thứ bảy 16 tháng 10 20:06:58 UTC 2010 x86_64 GNU/Linux) – Karan

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