Hướng dẫn why is my php code showing up on my page? - tại sao mã php của tôi lại hiển thị trên trang của tôi?

Trong trường hợp chúng tôi ở cùng một trang làm theo

sudo apt-get install php -y sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y

Để bật Php 7.2 fpm trong Apache2, làm:

a2enmod proxy_fcgi setenvif

a2enconf php7.2-fpm

CẬP NHẬT 2: Tệp Apache Tải xuống .PhP thay vì hiển thị

Sau đó, tôi phải đối mặt với vấn đề trên. Có những câu hỏi tương tự như thế này.

Tôi không biết tại sao nhưng nó chỉ xảy ra với các tệp .php của tôi trong thư mục gốc /var/www/html/. Mọi thứ đều ổn cho các thư mục phụ. (Ví dụ: WordPress và phpmyadmin hoạt động tốt)

Vì vậy, đây là giải pháp của tôi. Tôi quyết định bật mô -đun PHP. Vì vậy, tôi đã chạy lệnh này:

a2enmod php7.2

Nhưng tôi đã gặp lỗi này:

Xem xét sự phụ thuộc mpm_prefork cho PHP7.2: Xem xét xung đột mpm_event cho mpm_prefork: Lỗi: Mô -đun MPM_Event được bật - không thể tiến hành do xung đột. Nó cần phải bị vô hiệu hóa trước! Xem xét xung đột mpm_worker cho mpm_prefork: Lỗi: không thể kích hoạt sự phụ thuộc mpm_prefork cho PHP7.2, hủy bỏ

Vì vậy, tôi quyết định tắt MPM bằng cách chạy các lệnh sau:

sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event

Sau đó, khởi động lại Apache:

systemctl restart apache2

sau đó bật Php7.2 (phiên bản đã cài đặt của tôi):

sudo a2enmod php7.2

Và ngay bây giờ mọi thứ đều hoạt động tốt.

Nếu trình duyệt của bạn đang hiển thị mã PHP, điều đó có nghĩa là máy chủ của bạn chưa được thiết lập để phục vụ các tập lệnh PHP. Dưới đây là danh sách những điều bạn cần kiểm tra để khắc phục vấn đề này.

Đầu tiên, đảm bảo rằng bạn đang lưu các tệp PHP của mình trong UTF-8.

Trong quá khứ, một số nhà phát triển đã báo cáo một vấn đề trong đó lưu tệp trong các ký tự khác đã dẫn đến các thẻ PHP mở và đóng của họ bị bỏ qua.

Không điều đó, có một số câu hỏi khác mà bạn cần tự hỏi mình.

PHP đã được cài đặt?

Bạn đã cài đặt PHP?

Rất nhiều máy chủ sẽ chỉ phục vụ các tệp HTML theo mặc định. Thường xuyên hơn không, bạn sẽ cần cài đặt PHP và định cấu hình nó để hoạt động với máy chủ web của bạn.

Nếu bạn không có quyền kiểm soát máy chủ mà bạn đang tải lên các tệp của mình, thì bạn sẽ cần liên hệ với nhà cung cấp dịch vụ lưu trữ của mình.

Trong một số trường hợp, tôi đã bắt gặp các gói lưu trữ cấp dưới không hỗ trợ bất kỳ ngôn ngữ kịch bản phía máy chủ nào. Nói cách khác, họ chỉ là HTML.

Hãy chắc chắn rằng đây không phải là trường hợp với gói mà bạn đang sử dụng.

Nếu bạn có quyền kiểm soát máy chủ, thì bạn sẽ cần đảm bảo rằng PHP được cài đặt đúng cách. Nếu bạn tìm kiếm xung quanh, bạn sẽ tìm thấy hàng trăm hướng dẫn về cách thiết lập PHP và Apache/nginx để hoạt động trên Windows, Linux và Macintosh.

Misconfigurations.

Nếu PHP được cài đặt và mã của bạn vẫn được hiển thị trong trình duyệt, thì bạn có thể đã trở thành nạn nhân của một cấu hình sai đơn giản.

Thường xuyên hơn không, loại vấn đề này có thể được giải quyết bằng cách không tuân thủ một dòng trong một tệp cấu hình.

Ví dụ: trong tệp Apache HTTPD.conf của Apache, bạn sẽ cần đảm bảo rằng dòng Load LoadModule Php5_Module đã không được đưa ra và không có dấu chấm phẩy (;) ở đầu dòng.httpd.conf file, you will need to make sure that the line “LoadModule php5_module” has been uncommented and that there is no semi-colon (;) at the beginning of the line.

Khởi động lại máy chủ web của bạn.

Nếu bạn khá chắc chắn rằng mọi thứ đã được thiết lập chính xác và bạn đã trở thành nạn nhân của một cấu hình sai, thì bạn nên đảm bảo rằng bạn đã khởi động lại máy chủ web của mình.

Thường xuyên hơn không, bạn sẽ cần khởi động lại Apache hoặc nginx để các thay đổi có hiệu lực.

Điều này là do họ chỉ đọc tệp cấu hình khi khởi động.

Bạn đang sử dụng tiện ích mở rộng .php?

Nếu bạn đã thực hiện tất cả những điều đó và mã của bạn vẫn đang được hiển thị trong trình duyệt, thì bạn sẽ cần đảm bảo rằng các tệp của bạn đang sử dụng tiện ích mở rộng .php.

Mã PHP sẽ không được thực thi nếu nó được lưu bên trong tệp .html.

Chà, không trừ khi bạn đã cấu hình cụ thể máy chủ web của mình để làm như vậy.

Đảm bảo rằng bạn đang chạy nó thông qua máy chủ web của bạn.

Cuối cùng, bạn sẽ cần đảm bảo rằng bạn thực sự đang chạy các tệp của mình thông qua máy chủ web.

Rất nhiều nhà phát triển PHP mới bắt đầu mắc sai lầm khi mở trang thông qua hệ thống tệp của họ thay vì đặt nó vào gốc của máy chủ web hỗ trợ PHP.

Mặc dù bạn có thể làm điều này với HTML thông thường, nhưng nó sẽ không hoạt động với PHP.

Thông thường, điều này có nghĩa là bạn sẽ cần truy cập nó qua http: // localhost.http://localhost.

Bỏ qua nội dung

  • Khi tôi tải lên máy chủ, trang web của tôi hiển thị mã index.php thay vì trang chủ

    /**
    * Front to the WordPress application. This file doesn’t do anything, but loads
    * wp-blog-header.php which does and tells WordPress to load the theme.
    *
    * @package WordPress
    */

    /*** Nói với WordPress tải chủ đề WordPress và xuất nó. * * @var bool */ dinine (‘wp_use_theme, đúng);
    * Tells WordPress to load the WordPress theme and output it.
    *
    * @var bool
    */
    define( ‘WP_USE_THEMES’, true );

    / ** Tải môi trường và mẫu WordPress*/ yêu cầu __dir__. ‘/Wp-blog-header.php,;
    require __DIR__ . ‘/wp-blog-header.php’;

    Tôi đã thay đổi tệp .htacess, thay đổi permalink, thay đổi chủ đề, nhưng vẫn xảy ra. Tôi không còn ý tưởng nữa. Xin ai đó giúp đỡ !!
    Please someone help!!

  • Chủ đề ‘Index.php Mã hiển thị thay vì thực thi trang chủ được đóng cho các câu trả lời mới.

Bất cứ ai có thể xem mã PHP của tôi?

Với một máy chủ web được cấu hình chính xác, mã PHP không hiển thị cho khách truy cập trang web của bạn. Để mã PHP có thể truy cập được bởi những người truy cập trang web của bạn, máy chủ sẽ phải được cấu hình để hiển thị nó dưới dạng văn bản thay vì xử lý nó dưới dạng mã PHP.. For the PHP code to be accessible by people who visit your website, the server would have to be configured to display it as text instead of processing it as PHP code.

Tin tặc có thể nhìn thấy mã PHP của tôi không?

Có, ai đó hoàn toàn có thể hack máy chủ, thông qua khai thác hoặc bằng cách đánh cắp mật khẩu của bạn hoặc thông qua mã lỗi mà bạn hoặc người khác đã viết hoặc một số cách khác nhau.Lưu câu trả lời này.Hiển thị hoạt động trên bài viết này.. Save this answer. Show activity on this post.

Điều gì xảy ra với mã PHP trên trình duyệt?

Khi PHP nhận được tệp, nó sẽ đọc qua nó và thực thi bất kỳ mã PHP nào mà nó có thể tìm thấy.Sau khi được thực hiện với tệp, trình thông dịch PHP cung cấp đầu ra của mã, nếu có, trở lại Apache.Khi Apache lấy lại đầu ra từ PHP, nó sẽ gửi lại đầu ra cho trình duyệt hiển thị nó lên màn hình.When Apache gets the output back from PHP, it sends that output back to a browser which renders it to the screen.

Tại sao mã PHP của tôi không hoạt động trong HTML?

Các tệp PHP luôn có thể đọc và hiển thị mã HTML, nhưng HTML không tự động phân tích mã PHP.Để làm như vậy, bạn sẽ cần phải điều chỉnh tệp .htaccess của bạn.Sau khi hoàn thành, mã PHP sẽ hiển thị trong các tệp HTML mà không gặp vấn đề gì.you will need to make adjustments to your . htaccess file. Once that is done, the php code will display within HTML files without issue.