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
.
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:
<?php echo php_ini_loaded_file(); ?>
alternatif yang lebih nyaman yang disebutkan dalam jawaban ini .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.
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
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();
Perintah ini akan membantu Anda menemukannya
php -r "phpinfo();" | grep php.ini
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
phpinfo();
akan memberi tahu Anda lokasinya, atau dari baris perintah
php -i
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:
Cukup tambahkan berikut ini di file php dan buka di browser Anda
print php_ini_loaded_file();
print_r(php_ini_scanned_files());
Salin-tempel di terminal Anda:
php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
find / -name php.ini
Hei ... itu berhasil untukku!
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
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
Di terminal Anda ketik find / -name "php.ini"
Di terminal Anda ketik php -i | grep php.ini
. Itu harus menunjukkan path file sebagai Configuration File (php.ini) Path => /etc
<?php
di baris baru phpinfo();
php -a
di terminal dan ketik phpinfo (); setelah php dimulai.