2010-08-18 27 views
6

Xem URL này trong Chrome và Firefox.Tại sao PHP không được hiểu trong FF nhưng được diễn giải trong Chrome trên trang web của tôi?

http://gymshuffle.com/contact.html

Nếu FF, có uninterpreted mã PHP trên trang. Trong Chrome thì không có.

Điều gì sẽ khiến PHP hiển thị trong Firefox?

+7

không thể ... bất kể trình duyệt, đó là máy chủ diễn giải nó hoặc xuất ra nó. Nếu mã nguồn đang xuất hiện, bạn có thể chắc chắn có vấn đề về mã/máy chủ. Nó trông ổn đối với tôi. – Fosco

+1

OP là chính xác. Nhìn vào nguồn html trong cả hai trình duyệt. – jrummell

+0

Nếu bạn tải xuống mã nguồn (wget), php sẽ có sẵn. Có thể một số trình duyệt loại trừ điều này khỏi màn hình, nhưng đó là điều tự nguyện của trình duyệt. Các php ** là ** ở đó. –

Trả lời

8

Thật thú vị, có vẻ như Chrome nhận ra rằng có gì giữa >? Php và? < không phải là một thẻ trình duyệt, và thay vào đó là HTML dạng nam, và không bao giờ cho phép nó đến được cây HTML được trả lại. Bạn có thể thấy một phiên bản đơn giản hơn nhiều trong những điều tương tự ở đây

Source code

<?php echo ('test'); ?> 
test 

URL:

http://alanstorm.com/testbed/chrome-php.html 

Nếu bạn xem nguồn với Chrome mã PHP không được hiển thị. Nếu bạn làm điều đó với Firefox.

Điều quan trọng cần nhớ ở đây là mã PHP của bạn không được thực hiện. Chrome tải xuống trang có mã PHP thô trong đó, xem mã PHP thô và xóa mã đó trước khi hiển thị trang.

Cập nhật: Đã thấy một cập nhật về điều này trong năm 2015 - và có vẻ như Chrome hiện tại hiện hiển thị mã được đề cập.

+0

Cảm ơn bạn đã đưa trang web thử nghiệm để những người khác xem câu hỏi này có thể tham khảo. Tôi đoán Chrome chỉ thông minh hơn. –

+0

Tôi không chắc đó là lựa chọn thông minh hơn 100%. Không nhìn thấy nó trong trình duyệt có ý nghĩa, nhưng nó ẩn nó khi bạn xem nguồn là tốt, mà tôi nghĩ là "Điều sai" để làm (từ quan điểm của nhà phát triển) –

6

Máy chủ http của bạn không được định cấu hình để gửi tệp .html thông qua trình thông dịch php. Hãy thử đổi tên tệp của bạn từ index.html thành index.php. Rất có thể điều này có thể hoạt động - nhưng thực sự, hãy yêu cầu quản trị viên máy chủ của bạn trợ giúp về sự cố cấu hình này.

Trân

RBO

+0

Ah. Thật là một sự giám sát ngu ngốc. Vì một số lý do, Chrome không hiển thị PHP trong nguồn mặc dù. –

0

Đó là thú vị. Nếu bạn nhìn vào nguồn html, bạn có thể thấy mã php trong FF, nhưng không thấy trong Chrome. Có lẽ một vấn đề MIME? Bạn cũng có thể thử thay đổi đuôi tệp thành .php.

+0

Thay đổi tệp ext làm việc. Không chắc chắn nếu MIME là câu trả lời đúng nhưng cuối cùng lỗi là bất cẩn. –

1

Firefox đang xem xét mọi thứ từ <? Php đến/> trong thẻ < br/> đầu tiên để trở thành một thẻ HTML lớn. Chrome chỉ bỏ qua mọi thứ trong các thẻ PHP. Để làm cho PHP hoạt động, bạn phải thay đổi phần mở rộng của tệp thành .php

PHP là ngôn ngữ phía máy chủ, vì vậy không có trình xử lý nào được thực hiện bởi trình duyệt.

0

PHP là phía máy chủ. Trình duyệt không liên quan gì đến việc giải thích nó.

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