Hướng dẫn why do i see php code in browser? - tại sao tôi thấy mã php trong trình duyệt?

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.

phần mở rộng của tệp đã mở

/var/www/html/1

Thư mục làm việc hiện tại của người chạy bộ khi khởi động

/var/www/html/2

Số dòng được chọn hiện tại trong tệp hoạt động

/var/www/html/3

văn bản được chọn hiện tại trong tệp hoạt động

/var/www/html/4

Giá trị của biến môi trường

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.

GUI để mở các tệp PHP/HTML/JS trong trình duyệt trên http: // localhost hoặc file: /// speeme. Thích hợp cho XAMPP/MAMP.

Bạn có thể mở bất kỳ loại tệp nào trong trình duyệt, không chỉ tệp HTML chỉ bằng một cú nhấp chuột!

Các trình duyệt được hỗ trợ: Firefox / sudo apt-get install php -y0 / sudo apt-get install php -y1 / sudo apt-get install php -y2 / sudo apt-get install php -y3 / sudo apt-get install php -y4 / sudo apt-get install php -y5 hoặc bất kỳ người nào khác sử dụng tập lệnh tùy chỉnh được định cấu hình

Cách sử dụng

Bạn có thể mở tệp hiện tại trong trình duyệt bằng các phương thức sau:

  • Nhấp vào nút sudo apt-get install php -y6 trên sudo apt-get install php -y7
  • Trong trình chỉnh sửa, nhấp chuột phải vào tệp và nhấp vào menu ngữ cảnh sudo apt-get install php -y8
  • Sử dụng KeyBindings sudo apt-get install php -y9 để mở nhanh hơn (có thể thay đổi trong menu sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y0)

Phím tắt

Chìa khóaYêu cầu
sudo apt-get install php -y9Mở PHP/HTML/JS trong trình duyệt

Thiêt lập mở rộng

Phần mở rộng này đóng góp các cài đặt sau:

Quyền muaSự mô tả
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y2Sơ đồ URL để mở trong trình duyệt (sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y3 hoặc sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y4 hoặc sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y5)
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y6Trình duyệt mở (sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y7, Firefox, ...)
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y9Đường dẫn của Trình duyệt tùy chỉnh có thể thực thi (ví dụ: a2enmod proxy_fcgi setenvif0)
a2enmod proxy_fcgi setenvif1Hãy nhớ lựa chọn trình duyệt cuối cùng. Bỏ chọn và chọn tùy chọn a2enmod proxy_fcgi setenvif2 nếu bạn muốn luôn chọn trình duyệt để khởi chạy
a2enmod proxy_fcgi setenvif3Hiển thị nút sudo apt-get install php -y6 trong thanh trạng thái VSCode
a2enmod proxy_fcgi setenvif5Thư mục cơ sở của các trang của bạn để phục vụ từ miền sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y3 (ví dụ: a2enmod proxy_fcgi setenvif7, a2enmod proxy_fcgi setenvif8, a2enmod proxy_fcgi setenvif9)
a2enconf php7.2-fpm0URL tùy chỉnh để mở trong trình duyệt (ví dụ: a2enconf php7.2-fpm1)

CustomUrltoopen Cấu hình:

URL tùy chỉnh để mở trong trình duyệt (ví dụ: a2enconf php7.2-fpm1)

Bạn có thể sử dụng các biến thay thế, Xem https://code.visualstudio.com/docs/editor/variables-reference

Biến đổiSự mô tả
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y2Sơ đồ URL để mở trong trình duyệt (sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y3 hoặc sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y4 hoặc sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y5)
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y6Trình duyệt mở (sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y7, Firefox, ...)
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y9Đường dẫn của Trình duyệt tùy chỉnh có thể thực thi (ví dụ: a2enmod proxy_fcgi setenvif0)
a2enmod proxy_fcgi setenvif1Hãy nhớ lựa chọn trình duyệt cuối cùng. Bỏ chọn và chọn tùy chọn a2enmod proxy_fcgi setenvif2 nếu bạn muốn luôn chọn trình duyệt để khởi chạy
a2enmod proxy_fcgi setenvif3Hiển thị nút sudo apt-get install php -y6 trong thanh trạng thái VSCode
a2enmod proxy_fcgi setenvif5Thư mục cơ sở của các trang của bạn để phục vụ từ miền sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y3 (ví dụ: a2enmod proxy_fcgi setenvif7, a2enmod proxy_fcgi setenvif8, a2enmod proxy_fcgi setenvif9)
a2enconf php7.2-fpm0URL tùy chỉnh để mở trong trình duyệt (ví dụ: a2enconf php7.2-fpm1)
CustomUrltoopen Cấu hình:URL tùy chỉnh để mở trong trình duyệt (ví dụ: a2enconf php7.2-fpm1)
Bạn có thể sử dụng các biến thay thế, Xem https://code.visualstudio.com/docs/editor/variables-referenceBiến đổi
a2enconf php7.2-fpm3Đường dẫn của thư mục được mở trong mã vs
a2enconf php7.2-fpm4Tên của thư mục được mở trong mã VS mà không có bất kỳ dấu gạch chéo nào (/)
a2enconf php7.2-fpm5Tệp đã mở hiện tại
a2enconf php7.2-fpm6Tệp đã mở hiện tại liên quan đến WorkSpaceFolder
a2enconf php7.2-fpm7Tên cơ sở của tệp đã mở hiện tại
a2enconf php7.2-fpm8Tên cơ sở của tệp hiện tại không có phần mở rộng tệp

a2enconf php7.2-fpm9

tên tệp đã mở hiện tại

/var/www/html/0

phần mở rộng của tệp đã mở

/var/www/html/1

  • Thư mục làm việc hiện tại của người chạy bộ khi khởi động
  • /var/www/html/2

Số dòng được chọn hiện tại trong tệp hoạt động

  • /var/www/html/3

văn bản được chọn hiện tại trong tệp hoạt động

  • /var/www/html/4

Giá trị của biến môi trường

  • /var/www/html/5
  • Giá trị của cấu hình (ví dụ: /var/www/html/6)
  • $ {host}

/var/www/html/7 Tên máy chủ có số cổng

  • /var/www/html/8

Đường dẫn liên quan đến cấu hình /var/www/html/9

  • /var/www/html/8

Đường dẫn liên quan đến cấu hình /var/www/html/9

  • Các vấn đề đã biết

Không có

  • Phát hành ghi chú

    Bạn có thể sử dụng các biến thay thế, Xem https://code.visualstudio.com/docs/editor/variables-reference

Biến đổi

  • a2enconf php7.2-fpm3

Đường dẫn của thư mục được mở trong mã vs

  • a2enconf php7.2-fpm4

Tên của thư mục được mở trong mã VS mà không có bất kỳ dấu gạch chéo nào (/)

  • a2enconf php7.2-fpm5

Tệp đã mở hiện tại

  • a2enconf php7.2-fpm6

Tệp đã mở hiện tại liên quan đến WorkSpaceFolder

  • a2enconf php7.2-fpm7

Enjoy!

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.

Tại sao chỉ mục PHP hiển thị mã?

Nếu máy chủ web của bạn đang hiển thị nội dung của chỉ mục của bạn.Tệp PHP, thay vì thực thi nó dưới dạng mã và hiển thị kết quả, thì đây là một vấn đề trong cấu hình của máy chủ web của bạn, nó cần nhận ra rằng a.Tệp PHP được trao cho một mô -đun ngôn ngữ được chỉ định, v.v.this is a problem in the configuration of your webserver, it needs to recognise that a . php file gets handed to a specified language module etc.

Bạn có thể ẩn mã PHP không?

Không thể ẩn hoàn toàn mã nguồn PHP vì nó là ngôn ngữ được giải thích, nhưng có một vài lựa chọn thay thế có thể: sử dụng mã obfuscator để làm cho mã nguồn khó đọc.Sử dụng bộ bảo vệ mã hoặc bộ mã hóa., but there are a few possible alternatives: Use a code obfuscator to make the source code difficult to read. Use a code protector or encoder.