Hướng dẫn how do i fix httpd not executing php files? - làm cách nào để sửa lỗi httpd không thực thi tệp php?

Hướng dẫn how do i fix httpd not executing php files? - làm cách nào để sửa lỗi httpd không thực thi tệp php?

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 how do i fix httpd not executing php files? - làm cách nào để sửa lỗi httpd không thực thi tệp 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:


SetHandler application/x-httpd-php
​

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 a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7.0

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 service apache2 restart

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ệ

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:

sudo nano /etc/apache2/apache2.conf0

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:

sudo nano /etc/apache2/apache2.conf1

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

sudo nano /etc/apache2/apache2.conf2

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

Làm cách nào để PHP làm việc với Apache?

Lưu ý rằng có một số cách để định cấu hình Apache và PHP, nhưng đây có thể là phương pháp nhanh nhất ...
Bước 1: Tải xuống các tệp PHP. ....
Bước 2: Trích xuất các tập tin. ....
Bước 3: Định cấu hình PHP. ....
Bước 4: Thêm C: \ PHP vào biến môi trường đường dẫn. ....
Bước 5: Định cấu hình PHP như một mô -đun Apache. ....
Bước 6: Kiểm tra tệp PHP ..

Làm thế nào cấu hình HTTPD trong PHP?

Nếu bạn có cài đặt tiêu chuẩn thì httpd.conf sẽ được tìm thấy tại/etc/httpd/conf:..
Hết giờ.Giá trị này đặt số giây mặc định trước khi mọi yêu cầu HTTP sẽ hết thời gian.....
Documentroot.DocumentRoot chỉ định thư mục gốc cho tất cả các quy trình HTTP trên máy chủ đó.....
AddType.....
Hoạt động.....
AddModule..

Tại sao trang PHP của tôi không tải?

Thiếu mã Lý do phổ biến nhất cho một trang trống là tập lệnh bị thiếu một ký tự.Nếu bạn bỏ ra một 'hoặc} hoặc;Ở đâu đó, PHP của bạn sẽ không hoạt động.Bạn không gặp lỗi;Bạn chỉ cần nhận được một màn hình trống.the script is missing a character. If you left out a ' or } or ; somewhere, your PHP won't work. You don't get an error; you just get a blank screen.

Làm thế nào để tôi biết nếu Apache được bật PHP?

Mở bất kỳ trình duyệt web nào và nhập theo URL, 'LocalHost/Check.php'.Nó sẽ hiển thị chi tiết phiên bản PHP và cấu hình Apache.Trong cấu hình Apache, tìm kiếm phần mô -đun được tải và ở đó bạn sẽ tìm thấy tất cả các mô -đun được bật. php'. It will display the PHP version details and Apache Configuration. In Apache Configuration, search for the Loaded Modules section, and there you will find all the modules that are enabled.