Hướng dẫn apache not executing php - apache không thực thi php

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.

Vào ngày 9 tháng 12 năm 2016, 5:12 AM PST December 9, 2016, 5:12 AM PST

Cách khắc phục Apache 2 không thực thi các tệp PHP

Nếu máy chủ web Apache 2 của bạn không thực thi các tệp PHP, hãy tìm hiểu cách nhanh chóng khắc phục sự cố này.

Chúng tôi có thể được bồi thường bởi các nhà cung cấp xuất hiện trên trang này thông qua các phương thức như liên kết liên kết hoặc quan hệ đối tác được tài trợ. Điều này có thể ảnh hưởng đến cách thức và nơi sản phẩm của họ xuất hiện trên trang web của chúng tôi, nhưng các nhà cung cấp không thể trả tiền để ảnh hưởng đến nội dung của các đánh giá của chúng tôi. Để biết thêm thông tin, hãy truy cập trang Điều khoản sử dụng của chúng tôi.
Hướng dẫn apache not executing php - apache không thực thi php

Hình ảnh: Jack Wallen

Đã bao nhiêu lần bạn thiết lập một máy chủ web với Apache 2 chỉ để biết rằng khi bạn cố gắng xem trang có phần mở rộng .php, trang cố gắng lưu vào ổ đĩa cục bộ hoặc hiển thị mã PHP trong trình duyệt ? Điều này là xấu trên nhiều cấp độ. Trước hết, trang web của bạn không hoạt động đúng; Thậm chí tệ hơn là ý tưởng rằng ai đó có thể có cái nhìn thoáng qua về mã của bạn, điều này không chỉ là một sự thất vọng, mà là một vấn đề bảo mật có thể xảy ra.

Xem xét đây là một sửa chữa dễ dàng, không có lý do gì để tránh làm việc với PHP và Apache 2. Nhưng làm thế nào để bạn sửa nó? Tôi se cho bạn xem. Lưu ý: Tôi chứng minh quá trình này trên Ubuntu Server 16.04, chạy các bản phát hành mới nhất của Apache 2 và PHP.Note: I demonstrate this process on Ubuntu Server 16.04, running the latest releases of Apache 2 and PHP.

Xem: Danh sách kiểm tra điện: Quản lý và xử lý sự cố Máy chủ (Nghiên cứu Tech Pro)

Sửa đổi tệp .conf

Điều đầu tiên chúng ta phải làm là sửa đổi tệp cấu hình Apache 2 chính. Để làm điều này, hãy mở một cửa sổ đầu cuối và phát hành lệnh:

sudo nano /etc/apache2/apache2.conf

Với Apache2.conf Mở, tất cả những gì bạn phải làm là thêm phần sau vào cuối tệp:

sudo apt-get install php -y0

Lưu và đóng Apache2.conf.

Bật/tắt các mô -đun

Để có được PHP hoạt động đúng, bạn phải tắt mô -đun MPM_Event và bật các mô -đun MPM_Prefork và PHP7. Để làm điều này, hãy quay lại cửa sổ thiết bị đầu cuối của bạn và phát hành lệnh:

sudo apt-get install php -y1

Khởi động lại Apache 2

Bạn đã sẵn sàng để khởi động lại Apache 2. Vì chúng tôi đã vô hiệu hóa/bật các mô -đun, chúng tôi phải thực hiện khởi động lại đầy đủ của Apache 2 (thay vì tải lại các tệp cấu hình). Để khởi động lại Apache, hãy quay lại cửa sổ thiết bị đầu cuối và phát hành lệnh:

sudo apt-get install php -y2

Bây giờ bạn sẽ có thể trỏ một trình duyệt vào tệp PHP và xem nó thực thi đúng, trái ngược với việc lưu ổ đĩa cục bộ hoặc hiển thị mã trong trình duyệt của bạn.

Đó là một cách khác, Apache 2 nên hoạt động chính xác như bạn cần.

Một sửa chữa đơn giản

Tôi cảnh báo bạn đây sẽ là một sửa chữa đơn giản. Apache 2 là một máy chủ web rất thân thiện với quản trị viên để định cấu hình và quản lý. Mặc dù người ta sẽ nghĩ rằng việc thực hiện PHP sẽ là một tính năng ngoài hộp, nhưng nó là một vấn đề rất dễ dàng để giải quyết.

Apache vui vẻ!

Cũng thấy

  • Cách bảo mật máy chủ Apache 2 của bạn trong bốn bước (TechRepublic)(TechRepublic)
  • Cách điều chỉnh Apache trong vài giây với Apache2Buddy.PL (TechRepublic)(TechRepublic)
  • Cách bật mã hóa phía máy chủ trong NextCloud (TechRepublic)(TechRepublic)
  • Cách cho phép xác thực hai yếu tố trên NextCloud 10 (TechRepublic)(TechRepublic)
  • Cách cài đặt máy chủ đèn trên OpenSuse (TechRepublic)(TechRepublic)
  • Cách thêm máy chủ ảo vào Nginx (TechRepublic)(TechRepublic)
  • Cách cài đặt ngăn xếp đèn trên Centos (TechRepublic)(TechRepublic)
  • Khi nào nên sử dụng nginx thay vì apache (zdnet)(ZDNet)

  • Kết nối mạng
  • Mã nguồn mở
  • Bảo vệ