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?
mcrypt
gó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 restart
thay vì apache2ctl
chưa?
apt-get
/aptitude
) chưa? Góiphp5-mcrypt
chỉ có thể định cấu hình tiện ích mở rộng chophp.ini
nó "biết". Thứ hai, tôi không ngay bây giờ nếuapache2ctl
tả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.