Làm cách nào để xem các phần mở rộng được tải bởi PHP?


155

Nó phải ở đâu đó trong bãi chứa phpinfo (), nhưng tôi không biết ở đâu. Có phải nó nằm trong phần "Các mô-đun bổ sung" không? Ở đâu đó khác? Tôi đang cố gắng tìm hiểu tại sao một số tiện ích mở rộng dường như không được tải, nhưng tôi thậm chí không biết mình nên tìm ở đâu.

Câu trả lời:


237

Đang chạy

php -m
sẽ cung cấp cho bạn tất cả các mô-đun, và
php -i
sẽ cung cấp cho bạn nhiều thông tin chi tiết hơn về cấu hình hiện tại.


60

Chạy lệnh. Bạn sẽ nhận được cài đặt phạm vi:

php -r "print_r(get_loaded_extensions());"

Hoặc chạy lệnh này để nhận tất cả cài đặt mô-đun và gỡ cài đặt với phiên bản

dpkg -l | grep php5

37

sử dụng get_loaded_extensions()chức năng PHP


7
Điều này hoạt động trên dòng lệnh, php -r 'print_r(get_loaded_extensions());'nó xuất ra cùng một danh sách nhưphp -m
phpguru

1
cmd để xuất các mô-đun với số phiên bản:php -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
Agas Vasiliauskas

33

Bạn muốn chạy:

 php -m 

trên dòng lệnh,

hoặc nếu bạn có quyền truy cập vào tệp cấu hình máy chủ đang mở

/etc/php5/apache2/php.ini

và nhìn vào tất cả các phần mở rộng,

bạn thậm chí có thể bật hoặc tắt chúng bằng cách chuyển đổi giữa Bật và Tắt như thế này

<Extension_name> = <[On | Off]>

17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>

danh sách từ php -m dài hơn nhiều so với get_loaded_extensions () không liệt kê curl, mbopes và nhiều thứ khác? tại sao vậy? Tôi đã cài đặt curl, mbopes nhưng dường như chúng không hiển thị từ tập lệnh php?
Meryan

Làm cách nào để sắp xếp get_loaded_extensions () theo thứ tự abc? để so sánh với các bản cài đặt php đang hoạt động khác, cảm ơn bạn.
Meryan

6

get_loaded_extensions() xuất danh sách mở rộng.

phpinfo(INFO_MODULES); xuất các phần mở rộng và chi tiết của chúng.


5

Nếu bạn muốn kiểm tra nếu một tiện ích mở rộng cụ thể được tải, bạn cũng có thể sử dụng extension_loadedchức năng này, xem tài liệu tại đây

php -r "var_dump(extension_loaded('json'));"

1

Bạn đang tìm kiếm một phần mở rộng cụ thể? Trong của bạn phpinfo();, chỉ cần nhấn Ctrl+ Ftrong trình duyệt web của bạn, nhập 3-4 chữ cái đầu tiên của tiện ích mở rộng mà bạn đang tìm kiếm và nó sẽ cho bạn biết liệu nó có được tải hay không.

Thông thường trong phpinfo()nó không hiển thị cho bạn tất cả các tiện ích mở rộng được tải ở một vị trí, nó có một phần riêng cho mỗi tiện ích mở rộng được tải, trong đó nó hiển thị tất cả các biến, đường dẫn tệp, v.v., vì vậy nếu không có phần nào cho tên tiện ích mở rộng của bạn thì nó có lẽ có nghĩa là nó không được tải.

Ngoài ra, bạn có thể mở tệp php.ini của mình và sử dụng phương thức Ctrl+ Fđể tìm tiện ích mở rộng của mình và xem nó có được nhận xét không (thường là bằng dấu chấm phẩy ở gần đầu dòng).


0

Bạn đã hỏi nơi bạn thấy các phần mở rộng được tải trong đầu ra phpinfo ().

Câu trả lời:

Chúng được liệt kê ở phía dưới dưới dạng các phần / bảng riêng biệt và CHỈ nếu chúng được tải. Dưới đây là một ví dụ về phần mở rộng Curl được tải.

nhập mô tả hình ảnh ở đây ...

... nhập mô tả hình ảnh ở đây

Tôi đã cài đặt nó trên Linux Debian với

sudo apt-get install php7.4-curl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.