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.

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.


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


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]>

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

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.


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'));"

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).


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.