Tôi đã làm điều này nhiều lần:
sudo aptitude install php5-mcrypt
sudo apache2ctl restart
aptitude cho biết mcrypt đã được cài đặt. Tôi đã cài đặt lại 3 lần rồi. Tôi đã khởi động lại apache khoảng 20 lần kể từ khi tôi cài đặt nó. Khi tôi nhìn vào phpInfo, tôi không thấy mcrypt được liệt kê. Khi tôi cố gắng thực thi mã của mình, nó báo hàm mcrypt (chọn một - bất kỳ một) nào không tồn tại. mcrypt rõ ràng là không được kích hoạt.
Có ai có bất cứ ý tưởng những gì có thể sai? Tôi không biết những mảnh nào nên ở đâu và làm thế nào tất cả những thứ này được cho là khớp với nhau.
Tôi đã cài đặt PHP 5.5.3
php.iniđược liệt kê trong đầu ra của phpinfo(khoảng 5 đến 7 mục)? Nó nên là một tập tin trong /etc/php5/. Nếu bạn tìm kiếm trong tập tin đó mcrypt, cái gì sẽ xuất hiện?
mcryptgói. Đó là chương trình dòng lệnh sử dụng libmcrypt, cũng như phần mở rộng PHP. Vì vậy, bạn cần chắc chắn rằng gói libmcrypt4được cài đặt. Có một php.iniđoạn tại /etc/php5/conf.d/mcrypt.ini? Điều đó sẽ tải lib. Đoạn mã đó được tải bởi PHP (xem phpinfo)? Một lần nữa, bạn đã thử khởi động lại Apache bằng sudo service apache2 restartthay vì apache2ctlchưa?
apt-get/aptitude) chưa? Góiphp5-mcryptchỉ có thể định cấu hình tiện ích mở rộng chophp.ininó "biết". Thứ hai, tôi không ngay bây giờ nếuapache2ctltải lại các mô-đun. Cách "bình thường" để khởi động lại Apache sẽ giống như vậysudo service apache2 restart. Thứ ba, PHP được kết nối với Apache của bạn như thế nào? Nếu bạn sử dụng một cái gì đó như (f) cgi hoặc php-fpm (trái ngược với mod-php), có lẽ bạn sẽ tự khởi động lại PHP, ngoài ra còn phải khởi động lại Apache.