Tôi có PHP 5.2.10 và PHP 5.2.14 (x86 non-threadsafe Win32 builds) được cài đặt trên máy chủ Windows 2008 R2 và trên Windows 7 64 bit.Tại sao PHP 5.2.14 không hiển thị bất kỳ lỗi nào (thậm chí từ dòng lệnh)?
Vì lý do nào đó, PHP 5.2.14 từ chối hiển thị thông báo lỗi.
Ngay cả khi tôi thiết lập các cài đặt sau đây trong php.ini
tôi không nhận được bất kỳ báo cáo lỗi nếu tôi sử dụng 5.2.14:
error_reporting = E_ALL
display_errors = On
này xảy ra ngay cả khi chạy một kịch bản kiểm tra từ dòng lệnh sử dụng php.exe
với lỗi cú pháp thận trọng:
c:\php>
php test.php
PHP được sử dụng đúng php.ini
tập tin vì tôi có thể nhìn thấy các thiết lập của tôi thay đổi khi tôi chạy php.exe -i
.
Tôi cũng nhận thấy rằng php.exe
trong PHP 5.2.14 rất chậm để khởi động.
Khi tôi thực hiện cùng một bộ kiểm tra sử dụng PHP 5.2.10 trên cùng một máy, tôi nhận được thông báo lỗi được báo cáo tốt.
Cả hai tệp php.ini
đều là cổ phiếu (dựa trên php.ini-recommended
) nhưng với các cài đặt error_reporting
và display_errors
được sửa đổi.
Bạn học được điều gì mới mỗi ngày. Hóa ra rằng PHP không thể tải một phần mở rộng SQLite3 vì phần mở rộng pdo.dll (có một sự phụ thuộc vào điều này) đã không được chú ý. Khi 'display_startup_errors' được đặt thành tắt, điều này có vẻ gây ra lỗi phân tích cú pháp bị nuốt chửng. Cảm ơn rất nhiều. – Kev
Thực ra ... đang điều tra thêm. Ai đó đã đặt dấu ngoặc kép xung quanh giá trị cờ 'error_reporting'. Đó là nguyên nhân thực sự. tức là -'error_reporting = "E_ALL & ~ E_NOTICE" '. – Kev