it-swarm.asia

Bung, di mana php.ini saya? (konfigurasi server)

Beberapa tahun yang lalu saya menginstal Apache 2.2x dan PHP 5.3.1 pada server Linux yang saya pelihara. Saya menggunakan .tar.gz's dan membangunnya seperti yang diinstruksikan (bukan rpms dan what-have-you). Dan semuanya baik-baik saja.

Hari ini saya perlu menginstal this yang tampak seperti perpustakaan PHP. Saya telah melalui semua langkah untuk menginstal, dan saya menemukan ibm_db2.so di $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

Tangkapan hebatnya adalah langkah terakhir adalah mengkonfigurasi php.ini tetapi tidak ada php.ini di sistem saya. Horor kengerian. PHP berfungsi dengan baik, kecuali tentu saja untuk ibm_db2 yang baru-baru ini ketinggalan jaman yang ingin saya gunakan sehingga seseorang dapat menggunakan GUI untuk mengotak-atik DB2. (Saya mencoba skrip php kecil yang gagal dan menunjukkan bahwa fungsi ibm_db2 tidak tersedia).

Saya harus berurusan dengan PHP sekali setiap beberapa tahun, jadi tolong beri tahu saya pada tingkat yang sangat mendasar tentang apa yang bisa saya lakukan untuk mengaktifkan akses GUI berbasis web ke DB2.

797
necromancer

Cara terbaik untuk menemukannya adalah: buat file php dan tambahkan kode berikut:

<?php phpinfo(); ?>

dan buka di browser, itu akan menampilkan file yang sebenarnya sedang dibaca!

Pembaruan oleh OP:

  1. answer yang diterima sebelumnya cenderung lebih cepat dan nyaman bagi Anda, tetapi itu tidak selalu benar. Lihat komentar tentang jawaban itu.
  2. Harap perhatikan juga <?php echo php_ini_loaded_file(); ?> alternatif yang lebih nyaman yang disebutkan dalam jawaban ini .
414
Tejas

Di baris perintah jalankan:

php --ini

Anda akan mendapatkan sesuatu seperti:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini

Itu dari mesin dev lokal saya. Namun, baris kedua adalah yang menarik. Jika tidak ada yang disebutkan, lihat yang pertama. Itu adalah path, tempat PHP mencari php.ini.

Anda dapat menangkap informasi yang sama menggunakan phpinfo() dalam skrip dan menyebutnya dengan browser. Disebutkan di blok pertama output. php -i melakukan hal yang sama untuk baris perintah, tetapi cukup tidak nyaman.

753
KingCrunch

Ini bekerja untuk saya:

php -i | grep 'php.ini'

Anda harus melihat sesuatu seperti:

Loaded Configuration File => /usr/local/lib/php.ini

hal. Untuk mendapatkan hanya jalur php.inin

php -i | grep /.+/php.ini -oE
112
coderama

Pada jendela jenis perintah

php --ini

Ini akan menunjukkan Anda jalan seperti apa

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini

Jika perintah di atas tidak berfungsi, gunakan ini

echo phpinfo();
62
bibliophilsagar

Perintah ini akan membantu Anda menemukannya

php -r "phpinfo();" | grep php.ini
32

Gunakan perintah berikut untuk menemukan jalur file php.ini di linux.

[[email protected] ~]# locate php.ini
/etc/php.ini
/etc/php.ini.rpmnew
/usr/share/doc/php-common-5.4.45/php.ini-development
/usr/share/doc/php-common-5.4.45/php.ini-production


atau coba ini dengan cara lain

[[email protected] ~]# php --ini
ini menunjukkan hasil jalur

29
Sakthi Karthik
phpinfo();

akan memberi tahu Anda lokasinya, atau dari baris perintah

php -i
23
user557846

PHP dilengkapi dengan dua fungsi asli untuk menunjukkan file konfigurasi mana yang dimuat:

Tergantung pada pengaturan Anda, Apache danCLImungkin menggunakan file ini berbeda. Berikut adalah dua solusinya:

Apache:

Cukup tambahkan berikut ini di file php dan buka di browser Anda

print php_ini_loaded_file();
print_r(php_ini_scanned_files());

CLI:

Salin-tempel di terminal Anda:

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
21
Creaforge
find / -name php.ini

Hei ... itu berhasil untukku!

6
Banned_User

Anda bisa mendapatkan lebih banyak info tentang file konfigurasi menggunakan sesuatu seperti:

$ -> php -i | ack config # Use fgrep -i if you don't have ack

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini
4
Mike Purcell

Untuk SAPI: php-fpm

Tidak perlu membuat file php.info (itu bukan kebijakan yang baik untuk membiarkannya agar dunia tetap membaca). Di baris perintah:

php-fpm -i | more

Di suatu tempat dalam outputnya, ia akan menampilkan baris ini:

Configuration File (php.ini) Path => /etc

Berikut adalah penjelasan yang lebih lengkap: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/

Coba salah satu solusi ini

  1. Di terminal Anda ketik find / -name "php.ini"

  2. Di terminal Anda ketik php -i | grep php.ini. Itu harus menunjukkan path file sebagai Configuration File (php.ini) Path => /etc

  3. Jika Anda dapat mengakses satu file php Anda, buka di editor (notepad) dan masukkan kode di bawah setelah <?php di baris baru phpinfo();
  4. Anda juga dapat berbicara dengan php dalam mode interaktif. Cukup ketik php -a di terminal dan ketik phpinfo (); setelah php dimulai.
0
cherankrish