Làm cách nào để lấy mã lỗi trong php?
Rachel Andrew là nhà phát triển web, nhà văn và diễn giả. Cô ấy là tác giả của một số cuốn sách, bao gồm Bố cục CSS mới. Cô ấy là một trong những người đứng sau … Thông tin thêm về Rachel ↬ Show
Bản tin emailEmail (đập vỡ) của bạn
Mẹo hàng tuần về giao diện người dùng & UX.
Tôi đã là nhà phát triển PHP được 10 năm và công ty của tôi đã phát triển một hệ thống quản lý nội dung, được viết bằng PHP, rất đơn giản để cài đặt và bắt đầu sử dụng. Vì vậy, tôi dành nhiều thời gian làm việc với các nhà thiết kế lần đầu tiên cài đặt tập lệnh PHP. Nếu bạn đang cài đặt một tập lệnh và xảy ra sự cố, PHP có thể vô cùng tức giận. Cho đến khi bạn biết ý nghĩa của chúng, các lỗi PHP có thể gây trở ngại. tin nhắn yêu thích của tôi là
Paamayim Nekudotayim có nghĩa là “dấu hai chấm” trong tiếng Do Thái. Nhưng 1 dễ gỡ lỗi hơn rất nhiều so với 2Bài viết này dành cho các nhà thiết kế không phải là nhà phát triển PHP nhưng thỉnh thoảng cần cài đặt các tập lệnh PHP. Do đó, các sự cố và thông báo lỗi mà chúng tôi sẽ xem xét ở đây là những vấn đề bạn có thể gặp phải nhất khi cài đặt tập lệnh, thay vì khi viết PHP. Các mẹo này sẽ giúp bạn xử lý các thông báo lỗi khác và ít nhất sẽ giúp bạn cung cấp thông tin rõ ràng cho nhà phát triển tập lệnh nếu bạn cần yêu cầu họ hỗ trợ Thêm sau khi nhảy. Tiếp tục đọc bên dưới ↓ Gặp gỡ Hội thảo trực tuyến Smashing về giao diện người dùng & giao diện người dùng, với các bài học thực tế, phiên trực tiếp, bản ghi video và phần Hỏi & Đáp thân thiện. Trên các hệ thống thiết kế, UX, hiệu suất web và CSS/JS. Với Brad Frost, Stephanie Troeth và rất nhiều người khác Chuyển đến hội thảo ↬Đọc thêm trên SmashingMag.
Tất cả những gì tôi nhận được là một trang trốngTrước khi chẩn đoán lỗi PHP, chúng ta cần xem một số lỗi PHP. Lý tưởng nhất là trước tiên bạn nên cài đặt tập lệnh cục bộ, có thể sử dụng MAMP trên máy Mac hoặc XAMPP, cả hai đều cho phép bạn bật thông báo lỗi một cách dễ dàng. Bạn có thể lấy PHP để chỉ ra các lỗi trực tiếp trên màn hình hoặc ghi chúng vào một tệp để xem Tuy nhiên, nếu bạn đang cài đặt tập lệnh trực tiếp vào tài khoản dịch vụ lưu trữ của mình, máy chủ lưu trữ có thể đã vô hiệu hóa việc hiển thị tất cả các thông báo lỗi PHP. Điều này hợp lý để bảo mật, vì thông báo lỗi có thể làm lộ thông tin quan trọng về máy chủ hoặc cơ sở dữ liệu, nhưng nó không hữu ích lắm nếu bạn đang cố định cấu hình tập lệnh. Nếu các hiển thị lỗi đã bị tắt, thì một lỗi nghiêm trọng trước khi bất kỳ đầu ra nào được thực hiện trên trang sẽ dẫn đến một trang trống. Một lỗi xảy ra sau khi một số HTML đã được xuất ra sẽ dẫn đến việc đánh dấu bị "cắt" (dừng tại điểm xảy ra lỗi). Nếu bạn “Xem nguồn” và thấy một trang hoàn toàn trống hoặc nửa trang hoặc đang gặp “lỗi máy chủ nội bộ 500”, thì lỗi PHP có thể là thủ phạm Xác định vị trí Nhật ký lỗiTrên máy chủ trực tiếp, bạn sẽ có quyền truy cập nhật ký lỗi PHP. Điều này khác với nhật ký lỗi máy chủ Web, hiển thị những thứ như lỗi 404 khi không tìm thấy trang hoặc hình ảnh. Nhật ký PHP cung cấp thông tin về các lỗi và cảnh báo trong chính PHP. Máy chủ nên cấu hình PHP để gửi lỗi vào nhật ký thay vì ghi chúng lên màn hình Nếu không tìm thấy nhật ký lỗi, thì bạn có thể định cấu hình PHP để duy trì một bản ghi ở vị trí mà bạn chỉ định. Để làm điều này, hãy tạo một thư mục trên trang web của bạn có tên là 3. Làm cho thư mục này có thể ghi được. Sau đó thêm mã dưới đây vào. htaccess ở thư mục gốc của trang web của bạn. Nếu bạn không có. htaccess, hãy tạo một tệp
Sau đó, bảo vệ thư mục 3 để tệp không thể tải xuống từ Web. Bạn có thể thực hiện việc này trong bảng điều khiển hoặc chỉ bằng cách tạo một trang mới. htaccess, lần này nằm trong thư mục 3
Nếu bây giờ bạn chạy tập lệnh gây ra lỗi, thông báo lỗi sẽ được thêm vào php_error. tệp nhật ký. Nếu nó không hoạt động, trước tiên hãy thử tự tạo tệp trong thư mục 3 và làm cho nó có thể ghi đượcNếu bạn không gặp may mắn khi tạo nhật ký lỗi, hãy mở một phiếu hỗ trợ với nhà cung cấp dịch vụ lưu trữ của bạn, giải thích những gì bạn đang cố gắng đạt được và hỏi cách thực hiện Lỗi, Thông báo và Cảnh báoPHP phân loại các thông báo đi đến nhật ký lỗi là lỗi, thông báo hoặc cảnh báo. Chúng có mức độ nghiêm trọng khác nhau. Một lỗi là một cái gì đó bị hỏng trong mã của bạn. Nó cần sửa và sẽ khiến PHP ngừng thực thi Một cảnh báo về cơ bản là PHP nói rằng, “Những gì bạn đang làm có thể sẽ gây ra sự cố, nhưng tôi sẽ cố gắng tiếp tục. ” Thông báo cho bạn biết điều gì đó cần chú ý trong tập lệnh của bạn. Có thể phiên bản PHP trên máy chủ của bạn mới hơn phiên bản được tập lệnh hỗ trợ. Mọi thứ trong PHP không được dùng nữa giống như cách các phần tử trong đặc tả HTML không được dùng nữa. Khi một cái gì đó không được dùng nữa, điều đó có nghĩa là nó sẽ bị xóa trong tương lai, vì vậy thông báo cho bạn biết điều này Lỗi trong tập lệnh đã mua hoặc mã nguồn mở rất có thể là sự cố với cài đặt của bạn, giả sử rằng phiên bản PHP của bạn đáp ứng yêu cầu. Nếu một tập lệnh đưa ra các cảnh báo mà bạn không thể khắc phục, thì có lẽ bạn nên nêu chúng với bộ phận hỗ trợ kỹ thuật. Bạn thường có thể bỏ qua các thông báo, mặc dù bạn nên kiểm tra xem phiên bản mới nhất của tập lệnh đã được cài đặt chưa. Nếu nhiều thông báo bị loại bỏ, điều đó có thể cho thấy một tập lệnh kém chất lượng Nếu thủ thuật bật ghi nhật ký lỗi ở trên hiệu quả với bạn, thì bạn có thể đặt mức báo cáo lỗi trong. htaccess cũng vậy
Ở trên sẽ chỉ thêm lỗi vào 7 1Đặt 8 thành 9 sẽ ghi lại tất cả các lỗi, cảnh báo và thông báo. Nếu bạn làm điều này, thì chắc chắn bạn sẽ muốn đặt 0 thành 1, để các thông báo không được xuất ra các trang trên trang web của bạnLỗi đầu tiên là lỗi quan trọngNếu bạn đang hiển thị lỗi trên trang và gặp lỗi PHP, bạn có thể gặp phải một trang đầy lỗi đáng sợ. Nếu bạn đang xem lại lỗi trong nhật ký, hãy làm mới trang đang tạo ra lỗi rồi kiểm tra nhật ký. Bạn có thể tìm thấy một loạt lỗi cho cùng một trang; . Điều này thường xảy ra khi lỗi đầu tiên là cảnh báo; . Khắc phục cảnh báo ban đầu và bạn có thể thấy rằng tất cả các sự cố khác sẽ biến mất Lỗi liên quan đến cơ sở dữ liệuNhiều lỗi mọi người gặp phải khi cài đặt tập lệnh liên quan đến kết nối với cơ sở dữ liệu. Thông thường, khi tập lệnh cần tạo kết nối cơ sở dữ liệu, bạn sẽ được yêu cầu cung cấp bốn bit thông tin. tên người dùng và mật khẩu của cơ sở dữ liệu, địa chỉ của máy chủ (thường là, nhưng không phải luôn luôn, 2) và tên của cơ sở dữ liệu. Nếu bất kỳ điều nào trong số này không chính xác, bạn sẽ không thể kết nối. Tùy thuộc vào tập lệnh, bạn sẽ thấy một chuỗi thông báo lỗi xấu hoặc nếu nhà phát triển đã xử lý việc này một cách khéo léo, bạn sẽ được thông báo rằng tập lệnh không thể kết nối với cơ sở dữ liệuCác sự cố kết nối cơ sở dữ liệu mà tôi thường thấy khi cung cấp hỗ trợ kỹ thuật như sau
Sự cố về quyền cơ sở dữ liệuMột nguyên nhân khác có thể gây ra sự cố liên quan đến cơ sở dữ liệu là khi tất cả các chi tiết kết nối đều chính xác, nhưng người dùng cơ sở dữ liệu không có quyền cần thiết để thực hiện những việc mà tập lệnh cần thực hiện. Ví dụ: tập lệnh có thể cần tạo bảng cơ sở dữ liệu và do đó sẽ yêu cầu người dùng cơ sở dữ liệu phải có quyền 7Nếu bạn đã tạo người dùng cơ sở dữ liệu trong cPanel, bạn cũng cần chọn cơ sở dữ liệu và kết nối người dùng với nó, cấp cho người dùng đủ quyền để chạy tập lệnh. Ví dụ: nếu bạn đang cài đặt WordPress, người dùng cơ sở dữ liệu của bạn sẽ cần có 8 cho cơ sở dữ liệu mà nó được đính kèmTrong cPanel, bạn có thể thiết lập những thứ này trong phần có tên “Thêm người dùng vào cơ sở dữ liệu. ” Chọn người dùng và cơ sở dữ liệu, sau đó trên màn hình tiếp theo, nhấp vào hộp kiểm “Tất cả Đặc quyền” trước khi gửi biểu mẫu Lỗi PHPNhóm lỗi tiếp theo là lỗi do PHP tạo ra do một số vấn đề với tập lệnh mà bạn đang cài đặt hoặc do thứ gì đó đã được đưa vào trong khi bạn đang cài đặt hoặc định cấu hình tập lệnh đó Lỗi nghiêm trọng. Cuộc gọi không mục đích 3Điều này có nghĩa là không thể tìm thấy chức năng PHP mà trang hiện tại cần. Hàm này có thể là một phần của chính tập lệnh hoặc được tích hợp ngay trong PHP. Bạn có thể thấy lỗi này khi cài đặt tập lệnh của bên thứ ba vì những lý do sau
Để giải quyết lỗi, hãy kiểm tra cẩn thận xem tất cả các tệp đã được tải lên hoặc thay thế chưa và bạn đã làm theo hướng dẫn cài đặt chưa. Nếu bạn không thể giải quyết nó, hãy liên hệ với nhà phát triển tập lệnh, giải thích những gì bạn đã làm và những gì bạn đã kiểm tra và sao chép thông báo lỗi Nếu vấn đề là thiếu thứ gì đó trong bản cài đặt PHP của bạn, thì bạn có thể cần liên hệ với nhà cung cấp dịch vụ lưu trữ của mình Lỗi nghiêm trọng. Không thể tuyên bố lại 5Điều này thường có nghĩa là bạn đã bao gồm một tệp hai lần. Kiểm tra mọi nơi bạn đã chỉnh sửa và kiểm tra các tệp được bao gồm để đảm bảo bạn không sao chép tệp bao gồm Lỗi nghiêm trọng. Dung lượng bộ nhớ cho phép đã hết 6Thông thường, bạn sẽ thấy lỗi này khi cố gắng tải lên và xử lý một hình ảnh, mặc dù bạn có thể gặp lỗi này đối với bất kỳ tập lệnh nào cần nhiều bộ nhớ để chạy. Dung lượng bộ nhớ mà tập lệnh của bạn được phép sử dụng do nhà cung cấp dịch vụ lưu trữ đặt. Trên các gói lưu trữ chia sẻ giá rẻ, các giới hạn này thường được đặt rất thấp. Nếu bạn cần sử dụng tập lệnh để xử lý hình ảnh lớn, hãy liên hệ với nhà cung cấp của bạn để xem liệu bạn có thể chuyển sang gói có giới hạn cao hơn hay không Lỗi quyền 7Cảnh báo này là một ví dụ về lỗi quyền. Tập lệnh đang cố tải một tệp lên một thư mục, nhưng thư mục đó không có đủ quyền để chuyển tệp vào đó. Các quyền mà PHP cần để ghi vào tệp hoặc thư mục tùy thuộc vào cách cấu hình máy chủ và việc bạn đang sử dụng máy chủ Unix hay Windows. Phần trên “” trong WordPress Codex có liên quan ngay cả khi bạn không sử dụng WordPress. Tuy nhiên, nếu bạn nhận được bất kỳ loại lỗi hoặc cảnh báo "Quyền bị từ chối" nào và không thể khắc phục nó chỉ bằng cách thay đổi quyền cho thư mục, hãy nói chuyện với nhà cung cấp dịch vụ lưu trữ của bạn thay vì nhà phát triển tập lệnh, vì nhà cung cấp của bạn sẽ có thể Cảnh báo PHP. Bao gồm 8Cảnh báo này cho bạn biết rằng không tìm thấy tệp bao gồm (được bao gồm bằng cách sử dụng cú pháp 0 của PHP). Đó là một cảnh báo chứ không phải là một lỗi, bởi vì PHP sẽ tiếp tục cố gắng tải trang nếu nó không thể tìm thấy một bao gồmTrong PHP, bạn có thể bao gồm các tệp bằng cách sử dụng 1 hoặc 2. Nếu bạn sử dụng 2, thì bạn đang nói với PHP rằng tập lệnh này rất quan trọng để chạy trang web và vì vậy PHP sẽ báo lỗi nếu không tìm thấy tệp, thay vì cố gắng tiếp tụcNếu bạn nhận được cảnh báo hoặc thông báo lỗi rằng không thể mở tệp, thì hãy kiểm tra xem tệp được đề cập trong thông báo lỗi có ở đó không và đường dẫn của bạn đến tệp đó có chính xác không. Ví dụ: nếu bạn có tệp 4 và trang gọi tệp này nằm trong thư mục 5, thì bạn cần bao gồm 6 với nội dung bao gồm sau 0Bỏ qua 7 sẽ dẫn đến cảnh báo vì PHP sẽ không thể tìm thấy tệpTóm tắtCác lỗi PHP có vẻ rất khó hiểu nếu bạn không phải là nhà phát triển PHP, nhưng nếu bạn đọc kỹ thông báo lỗi, bạn thường sẽ tìm thấy điều gì đó dẫn bạn đến gốc rễ của vấn đề. Hầu hết các lỗi tôi thấy trong bộ phận hỗ trợ kỹ thuật đều liên quan đến kết nối cơ sở dữ liệu không chính xác, thiếu tệp hoặc quyền. Đây là tất cả những điều mà một người không có kiến thức về PHP có thể tự xác định và khắc phục, chỉ bằng cách học cách truy cập các thông báo lỗi và làm quen với những gì PHP đề cập trong đó. Việc có thể gỡ lỗi các loại sự cố này sẽ giúp bạn tránh được rất nhiều sự thất vọng và sẽ giúp bạn không phải chờ bộ phận hỗ trợ kỹ thuật liên hệ lại với mình Nếu bạn gặp lỗi khi cài đặt tập lệnh, hãy nhớ những điều sau
Đọc thêm
Bạn có gặp một lỗi đặc biệt khó hiểu khi cài đặt tập lệnh không? Làm cách nào để đặt thông báo lỗi trong PHP?Lỗi Ghi nhật ký
. tập tin ini. Bằng cách sử dụng hàm error_log(), bạn có thể gửi nhật ký lỗi tới một tệp cụ thể hoặc một đích đến từ xa .
Làm cách nào để sửa lỗi trong PHP?Chỉnh sửa php. . Đăng nhập vào cPanel của bạn Chuyển đến Trình quản lý tệp. . Tìm phần “Xử lý lỗi và ghi nhật ký” trong php. ban đầu. . Tiếp theo, bạn có thể đặt biến display_errors thành Bật hoặc Tắt để hiển thị lỗi trên trang web của mình hoặc không Làm cách nào để kiểm tra lỗi 500 trong PHP?Cách giải quyết lỗi 500 máy chủ nội bộ . Bước 1. Gỡ lỗi vấn đề Bước 2. Trống rỗng. tập tin htaccess Bước 3. gỡ lỗi. sự cố htaccess Bước 4. Tăng giới hạn bộ nhớ PHP Bước 5. Kiểm tra xem Admin có hoạt động không Bước 6. Hoàn nguyên các thay đổi gần đây Bước 7. Kiểm tra Plugin/Tiện ích mở rộng/Mô-đun của bạn Bước 8. Kiểm tra quyền của tệp Lỗi $ trong PHP là gì?Lỗi PHP xảy ra khi có lỗi trong mã PHP . Lỗi có thể đơn giản như thiếu dấu chấm phẩy hoặc phức tạp như gọi sai biến. Để giải quyết hiệu quả sự cố PHP trong tập lệnh, bạn phải hiểu loại sự cố nào đang xảy ra. |