Điểm:0

PHP đã ngừng hoạt động trên Ubuntu và Apache

lá cờ us

Tôi đang chạy Ubuntu 18.04. Tôi có một thiết lập LAMP. Tại một thời điểm nào đó, tôi nhận ra rằng PHP của tôi không còn hoạt động nữa. Tôi đã không sử dụng nó trong một thời gian, vì vậy rất tiếc là tôi không thể nói nó ngừng hoạt động khi nào. Nó có thể xảy ra khi tôi nâng cấp lên Ubuntu 18.04 từ 16.04.

Tôi đã lùng sục trên Internet để tìm câu trả lời cho vấn đề và đơn giản là không thể làm cho nó hoạt động được. Đây là thông tin về vấn đề và những gì tôi đã thử:

Tôi đã cài đặt lại Apache2. Bản thân Apache đang hoạt động, nhưng PHP thông qua Apache không hoạt động: các tệp .php hiển thị mã thay vì thực thi mã. Hoặc đôi khi trang .php chỉ đơn giản là trống ngoại trừ html trên trang. Trang có phpinfo(); chức năng trên đó là trống.

Tôi đang thử nghiệm bằng cách sử dụng trang .php với mã này:

     <h1>My PHP Info Page</h1>


<?php 

    phpinfo(); 

?> 

Tôi đang truy cập trang này thông qua trình duyệt Chrome: http://localhost/~username/Testing/info.php

Chỉ có cụm từ "Trang thông tin PHP của tôi" hiển thị. Phần còn lại của trang trống.

Tôi đang sử dụng php7.2.

Khi tôi gõ "php -v" trong thiết bị đầu cuối, tôi nhận được:

PHP 7.2.24-0ubuntu0.18.04.10 (cli) (được xây dựng: ngày 25 tháng 10 năm 2021 17:47:59) ( NTS ) Bản quyền (c) 1997-2018 Nhóm PHP Zend Engine v3.2.0, Bản quyền (c) 1998-2018 Zend Technologies với Zend OPcache v7.2.24-0ubuntu0.18.04.10, Bản quyền (c) 1999-2018, bởi Zend Technologies

Tôi đã chạy các lệnh này trong thiết bị đầu cuối ở nhiều điểm khác nhau:

sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7.2

sudo a2enmod php7.2 sudo a2dismod php7.0 sudo a2dismod php5

Tôi đã thêm đoạn mã sau vào tệp apache2.conf:

<FilesMatch ".php$"> Ứng dụng SetHandler/x-httpd-php â

Sau đó tôi đã đổi nó thành:

<LocationMatch ".php$"> Ứng dụng SetHandler/x-httpd-php â

(Sau đó tôi đã thay đổi lại. Ngoài ra, theo một gợi ý ở đâu đó, tôi đã nhập mã này theo cách thủ công thay vì sao chép và dán mã.)

Mỗi lần sau khi thực hiện bất kỳ thay đổi nào đối với tệp apache2.config, tôi đã khởi động lại dịch vụ Apache bằng lệnh này:

sudo systemctl khởi động lại apache2

Tôi đã tới giới hạn của mình rồi. Tại sao PHP của tôi không hoạt động?

Điểm:0
lá cờ us

Tôi đã khám phá ra câu trả lời cho các vấn đề của mình nhờ vào câu trả lời cho câu hỏi trước đó của diễn đàn này. Vấn đề là tôi cần chỉnh sửa tệp php7.2.config, được tìm thấy trong thư mục etc/apache2/mods-enabled, để cho phép tôi lưu trữ tất cả các tệp .php của mình trong thư mục public_html trong người dùng (chứ không phải gốc) không gian.Vì vậy, đó là một vấn đề quyền.

Để cho phép điều đó, bạn nhận xét năm dòng bắt đầu <IfModule ở cuối tệp php7.2.config. (Bạn nhận xét bằng cách đặt dấu # ở đầu dòng mà bạn đang nhận xét.)

Tôi đã thực hiện điều này một số phiên bản php trước đây khi tôi cài đặt LAMP trên máy tính 16.04 của mình. Rõ ràng, nó cần được làm lại do nâng cấp lên php7.2 hoặc nâng cấp lên 18.04 hoặc có thể là nâng cấp lên Apache.

Khi tôi thực hiện thay đổi đó, PHP của tôi đã hoạt động trở lại. Cảm ơn HỎI UBUNTU!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.