2015-12-26 30 views
33

Bất cứ khi nào tôi cố gắng truy cập vào phpMyAdmin, tôi nhận được lỗi sau: ". Phần mở rộng mbstring thiếu Vui lòng kiểm tra cấu hình PHP của bạn"Không thể khởi mbstring với PHP 7

Tôi chạy một ngăn xếp LEMP trên một máy chủ CentOS 7. Tôi đã chọn sử dụng PHP 7 cho bản cài đặt này. Tôi đã không gặp phải lỗi này trên các thiết lập giống hệt nhau chạy các phiên bản trước của PHP.

extension_loaded('mbstring') lợi nhuận sai mặc dù mbstring.ini (/etc/php.d/) chứa:

; Enable mbstring extension module 
extension=mbstring.so 

Tôi chắc chắn 100% rằng các mô-đun mbstring được cài đặt trên máy chủ của tôi.

Tôi hoàn toàn bối rối nên nếu có ai có bất kỳ ý tưởng nào, vui lòng cho tôi biết. Cảm ơn.

+0

Bạn đã xem 'phpinfo(); '? – Andrea

+1

@Andrea Yep, nó theo chủ đề mà không đề cập đến _mbstring_. – NoahMCM

+0

trong trường hợp đó, mbstring chưa được cài đặt và hoạt động. 'extension =' không được đưa vào 'mbstring.ini' btw, tôi nghĩ nó nên đi trong' php.ini' – Andrea

Trả lời

5

Một giải pháp đã đạt được với các phương pháp sau đây:

tôi đặt extension=mbstring.so bên trong php.ini mặc dù đó không còn là phương pháp sử dụng PHP theo mặc định để tải mô-đun.

Từ php.ini riêng của mình:

Note: packaged extension modules are now loaded via the .ini files found in the directory /etc/php.d; these are loaded by default.

Dường như để sửa chữa vấn đề của tôi. Tôi vẫn muốn nghe nếu có ai khác có quan điểm khác về vấn đề này.

+0

Có lẽ việc phân phối PHP 7 bạn đã sử dụng không sử dụng cùng một vị trí cấu hình? – Andrea

+0

Tôi đã cài đặt 'php7.0-mbstring' nhưng vì lý do nào đó 'phpenmod mbstring' không bật nó.Tôi đã phải tự kích hoạt nó bằng cách sử dụng phương pháp này. Ngoài ra, môi trường của tôi yêu cầu một 'sudo service apache2 restart' để thay đổi có hiệu lực. –

76

Đối với những người có debian:

sudo apt-get install php7.0-mbstring 

Nếu trong centos (thử nghiệm trong centos 6,6)

sudo yum install php70w-mbstring 

và như @mpen nói bạn có thể kích hoạt nó

sudo phpenmod mbstring 
+2

PS: Nó có thể được kích hoạt với 'sudo phpenmod mbstring' – mpen

+0

Tôi cần khởi động lại apache quá' service httpd restart' –

+8

Đối với CentOS 7 + PHP 7, tên gói là 'php70u-mbstring'. Nếu bạn nhận được 'Không có gói php70w-mbstring có sẵn', bạn phải làm' sudo yum list | grep "\ -mbstring" 'để tìm gói tương ứng. –

0

tôi đã có vấn đề này trong một thời gian dài. tôi tìm thấy một cách chính xác (cho tôi) để sửa chữa nó ... và nó khá đơn giản :)

Juste thêm "vũ trụ" trên xenial động cập nhật

# cat /etc/apt/sources.list.d/* 
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial-backports main 
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial main universe 
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial-proposed main 
deb [arch=amd64] http://security.ubuntu.com/ubuntu xenial-security main 
deb [arch=amd64] http://fr.archive.ubuntu.com/ubuntu/ xenial-updates main **universe** 
-1

chạy sudo apt-get update, sudo apt-get nâng cấp trước khi cài đặt với sudo apt-get install php-mbstring.

Tôi đã có cùng một vấn đề ngày hôm nay và tìm thấy theo cách này.

Các vấn đề liên quan