Bagaimana saya melihat ekstensi dimuat oleh PHP?

155

Pasti ada di suatu tempat di phpinfo () dump, tapi saya tidak tahu di mana. Apakah itu seharusnya di bawah bagian "Modul Tambahan"? Di tempat lain? Saya mencoba mencari tahu mengapa beberapa ekstensi tampaknya tidak dimuat, tetapi saya bahkan tidak tahu di mana saya harus mencari.

Bialecki
sumber

Jawaban:

237

Lari

php -m
akan memberi Anda semua modul, dan
php -i
akan memberi Anda banyak informasi lebih rinci tentang apa konfigurasi saat ini.

Abdullah Jibaly
sumber
60

Jalankan perintah. Anda akan mendapatkan ekstensi yang dipasang:

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

Atau jalankan perintah ini untuk mendapatkan semua modul instal dan hapus instalan dengan versi

dpkg -l | grep php5
Saurabh Chandra Patel
sumber
37

gunakan get_loaded_extensions()fungsi PHP

troelskn
sumber
7
Ini berfungsi pada baris perintah php -r 'print_r(get_loaded_extensions());'yang menampilkan daftar yang sama denganphp -m
phpguru
1
cmd untuk mengekspor modul dengan nomor versi:php -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
Agnius Vasiliauskas
33

Anda ingin menjalankan:

 php -m 

di baris perintah,

atau jika Anda memiliki akses ke file konfigurasi server terbuka

/etc/php5/apache2/php.ini

dan lihat semua ekstensi,

Anda bahkan dapat mengaktifkan atau menonaktifkannya dengan beralih antara Hidup dan Mati seperti ini

<Extension_name> = <[On | Off]>
william.eyidi
sumber
17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>
Rahul Yadav
sumber
daftar dari php -m jauh lebih panjang daripada get_loaded_extensions () yang tidak mencantumkan curl, mbstring dan banyak lainnya? mengapa demikian? Saya menginstal curl, mbstring tetapi tampaknya tidak muncul dari skrip php?
Meryan
Bagaimana cara mengurutkan get_loaded_extensions () secara alfabet? untuk membandingkan dengan pemasangan php lain yang berfungsi, terima kasih.
Meryan
6

get_loaded_extensions() mengeluarkan daftar ekstensi.

phpinfo(INFO_MODULES); output ekstensi dan detailnya.

jayxhj
sumber
5

Jika Anda ingin menguji apakah ekstensi tertentu dimuat, Anda juga dapat menggunakan extension_loadedfungsi ini, lihat dokumentasi di sini

php -r "var_dump(extension_loaded('json'));"
PeterPan666
sumber
1

Apakah Anda mencari ekstensi tertentu? Di Anda phpinfo();, cukup tekan Ctrl+ Fdi browser web Anda, ketikkan 3-4 huruf pertama dari ekstensi yang Anda cari, dan itu akan menunjukkan kepada Anda apakah itu dimuat atau tidak.

Biasanya di phpinfo()dalamnya tidak menampilkan semua ekstensi yang dimuat di satu lokasi, ia memiliki bagian terpisah untuk setiap ekstensi yang dimuat di mana ia menunjukkan semua variabelnya, jalur file, dll, jadi jika tidak ada bagian untuk nama ekstensi Anda itu mungkin berarti itu tidak dimuat.

Atau Anda dapat membuka file php.ini Anda dan menggunakan metode Ctrl+ Funtuk menemukan ekstensi Anda, dan melihat apakah sudah dikomentari (biasanya dengan tanda titik koma di dekat bagian awal baris).

Klik Upvote
sumber
0

Anda bertanya di mana Anda melihat ekstensi yang dimuat di output phpinfo ().

Menjawab:

Mereka terdaftar di bagian bawah sebagai bagian / tabel terpisah dan HANYA jika mereka dimuat. Berikut adalah contoh ekstensi Curl yang dimuat.

masukkan deskripsi gambar di sini ...

... masukkan deskripsi gambar di sini

Saya menginstalnya di Linux Debian dengan

sudo apt-get install php7.4-curl
Meryan
sumber