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?