2012-12-21 80 views
8

Tôi nhận được lỗi unexpected end of file trên Chế độ xem CodeIgniter của tôi.Lỗi phân tích cú pháp PHP: lỗi cú pháp, kết thúc không mong muốn của tệp trong Chế độ xem CodeIgniter

Tôi đã dán mã PHP tại http://codepad.org/S12oXE4t.

Mã này đã vượt qua các thử nghiệm cú pháp PHP trực tuyến khác nhau, nhưng tôi không biết tại sao nó lại cho tôi thấy lỗi dưới đây trong khi tôi đang cố gắng chạy trong WAMP Server.

Parse error: syntax error, unexpected end of file in 
E:\wampserver\www\CodeIgniter\application\views\layouts\default.php on line 676 

Để tham chiếu, line 676 là dòng cuối cùng trong mã. Tôi đã làm gì sai?

+4

bạn đã bỏ lỡ một dấu ngoặc đóng ở đâu đó –

+0

Tôi đã thử mã và nó chạy cho đến khi nó kích thích về base_url. Bạn có nhầm lẫn khi sao chép nó không? – RonaldBarzell

+4

Trong trường hợp bạn gặp phải thông báo lỗi mà bạn không hiểu, không phải là sai khi trả tiền cho một lượt truy cập vào: [Tham khảo - Lỗi này có ý nghĩa gì trong PHP?] (Http://stackoverflow.com/q/12769982/367456) – hakre

Trả lời

51

Kiểm tra short_open_tag thiết lập của bạn (sử dụng <?php phpinfo() ?> để xem thiết lập hiện tại của nó).

+7

Bạn nên bao gồm những gì 'short_open_tag' hiện, và những gì nó nên được thiết lập và tại sao trong câu trả lời chính nó. –

+1

Tôi sẽ bỏ phiếu cho bạn hàng ngàn lần nếu tôi có thể, chỉ cần cứu tôi sau 4 giờ đập đầu tôi trên bàn phím cố gắng khắc phục thảm họa từ một số wotsit ngẫu nhiên mà cuối cùng nó đã đưa ra rằng ông chỉ thích đặt shorttags không được chấp nhận ở khắp mọi nơi. – MacK

+0

Wow !! đây là một mục quan trọng như vậy - tôi lãng phí gần 2 giờ cố gắng để chụp rắc rối khi giải pháp này là đơn giản – ChicagoSky

18

Unexpected end of file có nghĩa là điều gì đó khác được mong đợi trước khi trình phân tích cú pháp PHP đạt đến cuối tập lệnh.

Đánh giá từ tệp HUGE HUGE của bạn, có thể bạn đang thiếu dấu ngoặc đóng (}) từ câu lệnh if.

hãy cố gắng ít nhất những điều sau đây:

  1. riêng mã của bạn từ logic nhìn của bạn.
  2. Nhất quán, bạn đang sử dụng kết thúc ; trong một số câu lệnh PHP được nhúng của mình, chứ không phải trong các câu lệnh khác, ví dụ: <?php echo base_url(); ?> so với <?php echo $this->layouts->print_includes() ?>. Nó không cần thiết, do đó, không sử dụng nó (hoặc làm, chỉ cần làm một hay khác).
  3. Lặp lại vì điều đó quan trọng, tách biệt mối quan tâm của bạn. Không cần tất cả mã này.
  4. Sử dụng IDE, nó sẽ giúp bạn với các lỗi như điều này trong tương lai.
+0

Nếu đó là một} hoặc; IDE phải chỉ ra vấn đề. Tôi đã thử nghiệm trong các IDE khác nhau nhưng không IDE chỉ ra lỗi. – lock

+3

@lock Không phải nếu lỗi ở trong một nơi nào đó. –

3

ngoặc Thông thường các vấn đề không được đóng (}) hoặc thiếu dấu chấm phẩy (;)

+0

Nếu đó là một} hoặc; IDE phải chỉ ra vấn đề. Tôi đã thử nghiệm trong các IDE khác nhau nhưng không IDE chỉ ra lỗi. – lock

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