Hướng dẫn error log in php - lỗi đăng nhập php

Tôi có thể đảm bảo cho bạn, tôi không phải là người duy nhất bị thúc đẩy đến điên rồ ít nhất một lần trong một tìm kiếm bực bội cho một tệp nhật ký. Có vẻ như nó nên là điều dễ dàng nhất để tìm thấy trong toàn bộ hệ thống.

Nội phân chính

  • Chỉnh sửa Php.ini để hiển thị lỗi
  • Cài đặt báo cáo lỗi php.ini
  • Bật lỗi đăng nhập
  • Sử dụng int_set () để hiển thị lỗi
  • Duy trì tệp nhật ký của bạn
  • Làm cách nào để xem nhật ký lỗi PHP?
  • Làm cách nào để kiểm tra nhật ký lỗi?
  • Làm cách nào để kích hoạt ghi nhật ký PHP?
  • Lỗi báo cáo PHP là gì?

Một hướng dẫn dứt khoát về nơi nhật ký lỗi PHP được lưu trữ sẽ là một công việc phức tạp. Hướng dẫn sử dụng PHP chính thức thậm chí không cố gắng giải quyết toàn bộ chủ đề, bởi vì có những phụ thuộc vào các hệ thống bên ngoài PHP, chẳng hạn như hệ điều hành (Linux so với Windows, phân phối Linux), bao gồm các cài đặt trong Windows và Linux ảnh hưởng đến tên và vị trí của nhật ký lỗi PHP.

Cho đến khi ai đó dành thời gian để viết một hướng dẫn hoàn chỉnh, hệ thống, điều tốt nhất bạn sẽ nhận được là những hướng đi chung nơi bạn có thể hỏi. Mỗi nhà phát triển PHP đã phải chịu đựng nỗi đau đớn trong việc theo đuổi này, với một ngoại lệ. Nếu bạn làm việc ở một nơi và thông tin được cung cấp khi bạn cần lần đầu tiên, thì bạn có nhu cầu thông tin mãi mãi, nghĩa là cho đến khi bạn thấy mình trong một môi trường làm việc mới. Có những người may mắn như vậy.

Nếu thông tin không được cung cấp cho bạn trên một đĩa bạc, có thể nói, bạn có một số việc săn lùng phải làm. Cuộc săn lùng không phải là lâu nhất bạn sẽ phải đối mặt trong sự nghiệp của mình, nhưng nó cũng không phải là đơn giản nhất.

Rõ ràng từ nhiều câu trả lời đã được đăng, một nơi thông minh để bắt đầu là đầu ra của phpinfo (). Để xem nó, hãy tạo một tệp PHP chứa điều này:

Hoặc duyệt đến tệp đó hoặc chạy nó từ dòng lệnh. Nếu bạn làm cả hai, bạn có thể sẽ tìm thấy Error_log ở những nơi khác nhau, tùy thuộc vào dòng lệnh so với sử dụng máy chủ web của PHP. Đó là bởi vì trình thông dịch PHP chạy trên máy chủ web không phải là trình thông dịch PHP cùng chạy từ dòng lệnh, ngay cả khi dòng lệnh nằm trên cùng một máy chủ web. Các câu trả lời đã được đăng ở đây chủ yếu là đưa ra một giả định không rõ ràng rằng PHP đang chạy như một phần của máy chủ web.

Hướng dẫn error log in php - lỗi đăng nhập php

Mặc định cho error_log không phải là giá trị

Dù giá trị là gì, nó đến từ các tệp php.ini được sử dụng để định cấu hình PHP. Có thể có nhiều tệp php.ini. Tìm đường của bạn trong số họ lúc đầu khó hiểu, nhưng bạn không cần phải đối phó với điều này để tìm nhật ký PHP của bạn.

Nếu đầu ra từ phpinfo () hiển thị một đường dẫn đầy đủ đến một tệp, đó là nơi nhật ký. Bạn thật may mắn.

Bí quyết thường không có đường dẫn đầy đủ được chỉ định trong phpinfo (). Khi không có đường dẫn đầy đủ, vị trí phụ thuộc vào:

  1. Cho dù error_log không có giá trị. Nếu đúng như vậy, vị trí tệp nhật ký sẽ phụ thuộc vào hệ điều hành và chế độ PHP đang chạy. Nếu PHP đang chạy dưới dạng mô -đun Apache, trên Linux, nhật ký thường được in /var/log/apache2/error.log. Một điểm khác có khả năng nằm trong thư mục nhật ký trong thư mục nhà tài khoản của bạn, ~/log/error.log.

  2. Nếu có tên tệp không có đường dẫn, vị trí phụ thuộc vào việc tên tệp có syslog giá trị hay không. Nếu nó là syslog, thì nhật ký lỗi PHP được tiêm vào syslog cho máy chủ, thay đổi theo phân phối Linux. Một vị trí phổ biến là/var/log/syslog, nhưng nó có thể ở bất cứ đâu. Ngay cả tên của syslog thay đổi theo phân phối.

  3. Nếu tên không có đường dẫn không phải là syslog, thì một ngôi nhà thường xuyên cho tệp là gốc tài liệu của trang web (a.k.a., thư mục trang web, không bị nhầm lẫn với thư mục nhà cho tài khoản của bạn).

Bảng gian lận này đã hữu ích trong một số tình huống, nhưng tôi rất tiếc phải thừa nhận nó gần như không phổ biến. Bạn có lời chia buồn của tôi.

Có hai phương pháp để xem các lỗi PHP xảy ra trong khi chạy trang web của bạn. Bạn có thể hiển thị lỗi trực tiếp trên trang web của mình (có thể xem từ bất kỳ trình duyệt web nào) hoặc bật đăng nhập lỗi để ghi các lỗi vào một tệp được chỉ định (có thể xem trong tệp văn bản). Bài viết này sẽ bao gồm cách bật và tắt Display_errors, điều chỉnh cài đặt báo cáo lỗi, định cấu hình ghi nhật ký lỗi và sử dụng hàm ini_set () để giúp khắc phục lỗi PHP với trang web của bạn.how to turn display_errors On and Off, adjust error reporting settings, configure error logging, and use the ini_set() function to help troubleshoot PHP errors with your website.

  • Chỉnh sửa Php.ini để hiển thị lỗi
  • Cài đặt báo cáo lỗi php.ini
  • Bật lỗi đăng nhập
  • Sử dụng int_set () để hiển thị lỗi
  • Duy trì tệp nhật ký của bạn

Chỉnh sửa Php.ini để hiển thị lỗi

Làm cách nào để xem nhật ký lỗi PHP?

  1. Đăng nhập vào cPanel của bạn.
  2. Chuyển đến Trình quản lý tệp. Chọn thư mục gia đình cho trang web của bạn (theo mặc định: public_html) và bấm đi.Go.
  3. Tìm phần Xử lý lỗi và ghi nhật ký lỗi trong php.ini. Để hiển thị hoặc đăng nhập lỗi, bạn cần bật ERROR_REPORTING bằng cách xóa (;) từ trước ra dòng. Bạn có thể vô hiệu hóa error_Reporting bằng cách thêm một (;) trước dòng. Tham khảo mã bên dưới: Báo cáo lỗi bị vô hiệu hóa: ________ 1” section in the php.ini. In order to display or log errors, you need to enable error_reporting by removing the ( ; ) from in front to the line. You can disable error_reporting by adding a ( ; ) in front of the line. Refer to the code below: Error reporting disabled:
    ;   - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; 

    Báo cáo lỗi được kích hoạt để báo cáo cụ thể tất cả các lỗi, nhưng không phải thông báo:

    ;   - Show all errors, except for notices ; error_reporting = E_ALL & ~E_NOTICE ;  

  4. Tiếp theo, bạn có thể đặt biến Display_errors thành Bật thành Bật để hiển thị các lỗi trên trang web của bạn hoặc không. Tìm dòng display_errors trong tệp php.ini và đặt nó thành bật để hiển thị lỗi hoặc tắt để bật không hiển thị lỗi. Mã trông giống như sau: Lỗi hiển thị:

    display_errors = On 

    Không hiển thị lỗi:

    display_errors = Off 

Cài đặt báo cáo lỗi php.ini

PHP có một danh sách các cài đặt báo cáo lỗi khác nhau trong chính tệp php.ini. Ví dụ: nếu bạn muốn chỉ hiển thị các cảnh báo, bạn có thể thay đổi dòng Error_Reporting thành các điều sau:

error_reporting = E_WARNING

Bảng sau được tạo từ các cài đặt được tìm thấy trong tệp PHP.INI tiêu chuẩn. Tham khảo bảng sau đây cho các tùy chọn có sẵn.

Danh sách các tùy chọn có sẵn được lấy từ php.iniSự mô tả
E_ALLTất cả các lỗi và cảnh báo
E_ERRORLỗi thời gian chạy nghiêm trọng
E_WARNINGCảnh báo thời gian chạy (lỗi không gây tử vong)
E_PARSEBiên dịch lỗi phân tích cú pháp thời gian
E_DEPRECATEDThông báo cho việc sử dụng các chức năng sẽ được nghỉ hưu trong phiên bản tương lai
E_NOTICEThông báo thời gian chạy (đây là những cảnh báo thường xuất phát từ một lỗi trong mã của bạn, nhưng nó có thể là cố ý (ví dụ: sử dụng một biến không chính xác và dựa vào thực tế nó tự động khởi tạo thành một chuỗi trống)
E_CORE_ERRORLỗi nghiêm trọng xảy ra trong quá trình khởi động ban đầu của PHP
E_CORE_WARNINGcảnh báo (lỗi không gây tử vong) xảy ra trong quá trình khởi động ban đầu của PHP
E_COMPILE_ERRORLỗi thời gian biên dịch gây tử vong
E_COMPILE_WARNINGBiên dịch cảnh báo thời gian (lỗi không gây tử vong)
E_USER_ERRORThông báo lỗi do người dùng tạo
E_USER_WARNINGThông báo cảnh báo do người dùng tạo
E_USER_NOTICEThông báo thông báo do người dùng tạo

Bật lỗi đăng nhập

Theo mặc định, các lỗi được ghi vào error_log, được đặt thành /dev /null. Điều này có nghĩa là, ghi nhật ký lỗi won xảy ra. Khi các lỗi được bật, các lỗi sẽ được lưu trữ trong một tệp trong thư mục, lỗi xảy ra. Ví dụ: nếu bạn có tệp PHP có tên index.php trong một thư mục con như public_html/wordpress, nếu bạn có bất kỳ lỗi PHP nào trong khi chạy Các tập lệnh của tệp đó, nhật ký lỗi sẽ được lưu trữ trong thư mục đó (public_html/wordpress). Bạn có thể chỉ định (trong php.ini) tệp nào để lưu trữ tất cả các lỗi.

 suPHP_ConfigPath /home/USERNAME/public_html 

IFMODULE khiến Apache chỉ tải chỉ thị nếu SUPHP được sử dụng, do đó, trang web không bị hỏng nếu chuyển sang trình xử lý PHP khác như DSO.

Để biết thêm thông tin về SUPHP và DSO, vui lòng xem bài viết của chúng tôi về việc chọn trình xử lý PHP tốt nhất.

  1. Đăng nhập vào cPanel của bạn.
  2. Chuyển đến Trình quản lý tệp. Chọn thư mục public_html và nhấp vào GO.Go.
  3. Bạn có thể đặt dòng mã sau để bật để đăng nhập hoặc tắt để tắt lỗi đăng nhập .________ 7 to log errors or Off to turn error logging off.
    log_errors = On  

  4. & nbsp; Tiếp theo, bạn có thể lưu lỗi từ bất kỳ trang nào trong các tệp của mình vào một vị trí cụ thể bằng cách chỉ định error_log. Ví dụ dưới đây sử dụng tệp có tên ERROR_LOG Điều này sẽ đặt ERROR_LOG vào thư mục xảy ra lỗi:Next you can save errors from any page in your files to a specific location by specifying the error_log. The example below uses a file named error_log This will place the error_log in the directory the error occurs in:

    ; Log errors to specified file. error_log = error_log 

    Điều này sẽ ghi tất cả các lỗi vào tệp ERROR_LOG bên trong thư mục public_html, bất kể các lỗi đã gặp phải thư mục nào trong:

    ; Log errors to specified file. error_log = /home/userna5/public_html/error_log 

Sử dụng int_set () để hiển thị lỗi

Trong trường hợp bạn muốn lỗi không hiển thị trang web và bạn muốn kiểm tra lỗi trên một trang, bạn có thể sử dụng hàm ini_set () để có lỗi hiển thị trên một trang cụ thể. Cú pháp cơ bản từ PHP.NET hiển thị chức năng và các tham số của nó như sau:

;   - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; 
0

Điều này có thể được đặt ở đầu trang PHP của bạn, với biến error_Reporting trong đó, để cho phép kiểm tra lỗi cho trang cụ thể đó. Dưới đây là các bước để làm điều này.

  1. Đăng nhập vào cPanel của bạn.
  2. Chuyển đến Trình quản lý tệp. Chọn thư mục public_html và nhấp vào GO.Go.
  3. Bạn có thể đặt dòng mã sau để bật để đăng nhập hoặc tắt để tắt lỗi đăng nhập .________ 7
  4. & nbsp; Tiếp theo, bạn có thể lưu lỗi từ bất kỳ trang nào trong các tệp của mình vào một vị trí cụ thể bằng cách chỉ định error_log. Ví dụ dưới đây sử dụng tệp có tên ERROR_LOG Điều này sẽ đặt ERROR_LOG vào thư mục xảy ra lỗi:

    Điều này sẽ ghi tất cả các lỗi vào tệp ERROR_LOG bên trong thư mục public_html, bất kể các lỗi đã gặp phải thư mục nào trong:
    0 = Off

  5. Sử dụng int_set () để hiển thị lỗiNow your PHP page only will display errors.

Trong trường hợp bạn muốn lỗi không hiển thị trang web và bạn muốn kiểm tra lỗi trên một trang, bạn có thể sử dụng hàm ini_set () để có lỗi hiển thị trên một trang cụ thể. Cú pháp cơ bản từ PHP.NET hiển thị chức năng và các tham số của nó như sau:

Điều này có thể được đặt ở đầu trang PHP của bạn, với biến error_Reporting trong đó, để cho phép kiểm tra lỗi cho trang cụ thể đó. Dưới đây là các bước để làm điều này.

Làm cách nào để xem nhật ký lỗi PHP?

Tìm tệp cấu hình nhập (PHP. Tìm phần xử lý lỗi và ghi nhật ký của tệp PHP. Cho bạn biết vị trí của các lỗi tệp được đăng nhập.

Làm cách nào để kiểm tra nhật ký lỗi?

Steps:..

Nhấp vào nút Bắt đầu và sau đó nhấp vào hộp tìm kiếm ..

Trong hộp tìm kiếm này, hãy gõ ngay cả người xem. ....

Nhấp vào nhật ký Windows Windows ở khung bên trái và sau đó nhấp đúp vào ứng dụng trên mạng ở khung bên phải. ....

Ở đây bạn sẽ nhận được ba loại nhật ký lỗi: thông tin, tham chiến và nhật ký lỗi thất bại ..

Làm cách nào để kích hoạt ghi nhật ký PHP?

Để kích hoạt ghi nhật ký lỗi cho trang web hoặc ứng dụng của bạn, hãy làm theo các bước sau:..

Xác định vị trí PHP. Tệp INI trên máy chủ của bạn ..

Tìm dòng chứa mục nhập error_Reporting ..

Đảm bảo không có dấu chấm phẩy (;) trước mục nhập ..

Đặt mục nhập Error_Reporting bằng với mức ghi nhật ký mong muốn (được bảo hiểm tiếp theo) ..

Lỗi báo cáo PHP là gì?

Hàm error_Reporting () chỉ định các lỗi nào được báo cáo. PHP có nhiều mức độ lỗi và sử dụng chức năng này đặt mức đó cho tập lệnh hiện tại.