Tôi vừa cập nhật từ PHP7 lên PHP8. Bây giờ Apache2 của tôi đang phát điên. Máy chủ không truy cập được hoặc hiển thị PHP của tôi dưới dạng văn bản thuần túy.
php -v
iel@MacBook-Pro-van-Niel apache2 % php -v
PHP 8.0.12 (cli) (được xây dựng: ngày 21 tháng 10 năm 2021 14:38:26) ( NTS )
Bản quyền (c) Nhóm PHP
Zend Engine v4.0.12, Bản quyền (c) Zend Technologies
với Zend OPcache v8.0.12, Bản quyền (c), bởi Zend Technologies
con mèo /var/log/Apache2/error_log
...
AH00112: Cảnh báo: DocumentRoot [/Users/Niel/Websites/vereniging/www/] không tồn tại
AH00112: Cảnh báo: DocumentRoot [/Users/Niel/Websites/voordekunst] không tồn tại
AH00558: httpd: Không thể xác định tên miền đủ điều kiện của máy chủ một cách đáng tin cậy khi sử dụng MacBook-Pro-van-Niel.local.Đặt chỉ thị 'Tên máy chủ' trên toàn cầu để chặn thông báo này
Không tải được /usr/local/opt/php/lib/php/20200930/opcache.so: dlopen(/usr/local/opt/php/lib/php/20200930/opcache.so, 9): không tìm thấy hình ảnh phù hợp. Đã tìm thấy:
/usr/local/opt/php/lib/php/20200930/opcache.so: chữ ký mã trong (/usr/local/opt/php/lib/php/20200930/opcache.so) không hợp lệ để sử dụng trong quá trình sử dụng Thư viện Xác thực: tệp được ánh xạ không có cdhash, hoàn toàn không được ký? Mã ít nhất phải được ký đặc biệt.
/usr/local/opt/php/lib/php/20200930/opcache.so: stat() không thành công với errno=22
[Thứ Năm ngày 04 tháng 11 01:20:45.021614 2021] [mpm_prefork:notice] [pid 1903] AH00163: Apache/2.4.46 (Unix) PHP/8.0.12 được định cấu hình -- tiếp tục hoạt động bình thường
[Thứ Năm ngày 04 tháng 11 01:20:45.021680 năm 2021] [core:notice] [pid 1903] AH00094: Dòng lệnh: '/usr/sbin/httpd -D FOREGROUND'
libphp
Trong httpd.conf
:
#LoadModule php_module /usr/lib/Apache2/modules/libphp8.0.so
#LoadModule php7_module libexec/apache2/libphp7.so
#LoadModule php_module libexec/apache2/libphp.so
LoadModule php_module /usr/local/Cellar/php/8.0.12/lib/httpd/modules/libphp.so
Không ai trong số này làm việc. Làm cách nào để PHP8 hoạt động?