2010-08-30 36 views
9

Tôi không thể thấy bất kỳ lỗi PHP nào. Tôi đã thử mọi mẹo tôi có thể tìm thấy để bật báo cáo lỗi, nhưng không có gì hiệu quả.Không thể nhận được báo cáo lỗi PHP

display_errors bật và error_logging đang bật, nhưng khi tôi xem bất kỳ trang nào có lỗi, tôi sẽ nhận được một trang trống.

/var/log/php.log không tồn tại.

nếu tôi đặt một tệp nhật ký cục bộ, Không có gì được tạo.

File Tôi đã được thử nghiệm với là

<?php 
ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 
ini_set('error_log','script_errors.log'); 
ini_set('log_errors','On'); 


$a= 

phpinfo(); 
?> 

bất kỳ ý tưởng nào khác không?

Trả lời

3

Có thể bạn cần đặt nó trong .htaccess, httpd.conf hoặc php.ini (tùy thuộc vào máy chủ hoặc công ty lưu trữ của bạn). Bạn rất có thể có lỗi phân tích cú pháp, điều đó có nghĩa là tập lệnh của bạn không bao giờ được gửi đến điểm có thể bật báo cáo lỗi.

+2

Tôi đã thử mã của bạn và nó hoạt động trên dòng lệnh, tôi tự hỏi nếu bạn có một thiết lập từ chối hiển thị đầu ra của phpinfo() (vì lý do bảo mật) và bạn đang thấy trang hợp lệ, mặc dù vẫn trống. Xem 'disable_functions' được đặt là gì, nếu bạn có thể. – Hans

+0

Có cách nào để buộc php báo cáo lỗi phân tích cú pháp không? – Nathan

+2

@Nathan bạn đã chọn câu trả lời này b/c nó có hữu ích hay vì các lý do khác nhau không? Tôi có cùng một vấn đề và như tôi không thấy nó quá hữu ích. Hans, có lẽ nếu bạn đã đề cập cách kiểm tra xem liệu có lỗi phân tích cú pháp hay không. – puk

1

Bạn đã thử chỉnh sửa tệp ini thực tế thay vì cố gắng thay đổi nó trong thời gian chạy? Bạn cũng có thể thử sử dụng ini_get('display_errors'); để xem liệu thay đổi của bạn có hiệu lực hay không. Nếu không phải của những công việc tôi sẽ nói cài đặt của bạn hoặc là bị lỗi hoặc rất hạn chế.

+0

Tôi đã cố gắng thiết lập nó ở đó, và báo cáo nó như trên, nhưng không có hiệu lực. – Nathan

0
  1. Làm điều đầu tiên trong tập lệnh, trước khi bạn thử bất kỳ tùy chọn nào trong số ini_set. Nếu máy chủ của bạn có các chức năng ini bị vô hiệu hóa/bị hạn chế, rất có thể bạn sẽ không bao giờ truy cập vào phpinfo.
  2. Người dùng máy chủ web có đang chạy có quyền ghi trong thư mục mà bạn đang chạy tập lệnh này không? Có thể không mở được tệp nhật ký kiểm tra của bạn và giết tập lệnh theo cách đó.

Khi bạn nhận được một số đầu ra phpinfo(), bạn sẽ có thể thấy nếu/nơi PHP đang ghi nhật ký lỗi. Nó có thể đi vào error_log chung của máy chủ hoặc một số vị trí khác hoàn toàn.

0

tôi giải quyết vấn đề này bằng website Hosing tôi cpanel-> php config -> lỗi hiển thị trên

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