Pertanyaan Temukan file php.ini yang benar


Saat ini saya mencoba mencari file php.ini yang benar untuk mengeditnya dan memulai ulang apache sehingga perubahan akan terjadi dan saya bingung.

Saya telah menemukan tiga file php.ini berbeda (tidak tahu mengapa ada tiga)  ini adalah bagaimana saya menemukan file

$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini

Saya juga melakukan ....

$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

Saya mengubah semuanya (hanya untuk memastikan) ke pengaturan yang saya inginkan.

Saya memulai kembali penggunaan apache

sudo service apache2 restart

Hasil...

* Restarting web server apache2

Saya memuat ulang halaman dan itu menunjukkan bahwa file php.ini tidak diperbarui.

Saya tahu ini karena saya menggunakannya

echo ini_get('post_max_size');

Yang seharusnya diubah menjadi 20M tetapi masih hanya 2M

Saya mencoba me-reboot komputer saya berpikir mungkin itu akan menghentikan server apache dan memuat ulang file php.ini dengan pengaturan yang benar, tetapi sayangnya usaha itu juga gagal.

Adakah kemungkinan ada file php.ini lain yang dapat mengganggu?


148
2017-10-12 00:19


asal


yang 'benar' ada di dalam apache2 subdirektori - Joren
menggunakan updatedb; locate php.ini dari pada find. - sjas
@ Michael Ya, file itu /etc/php/5.6/apache2/php.ini di Ubuntu 16.04 LTS Xenial Xerus, di mana 5.6/ adalah versi php yang diinstal. Pertama salin file ke php.original.ini kemudian buka untuk diedit sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


Jawaban:


Tiga file yang Anda miliki di sana masing-masing dimaksudkan untuk penggunaan yang berbeda.

/etc/php/5.6/cli/php.ini adalah untuk program CLI PHP, yang Anda temukan dengan menjalankan php di terminal.

/etc/php/5.6/cgi/php.ini adalah untuk sistem php-cgi yang tidak khusus digunakan dalam pengaturan ini.

/etc/php/5.6/apache2/php.ini adalah untuk plugin PHP yang digunakan oleh Apache. Ini yang perlu Anda edit untuk perubahan yang akan diterapkan untuk konfigurasi Apache Anda.

/etc/php/5.6/fpm/php.ini adalah untuk php5-fpm prosesor, yang merupakan 'pembungkus' fastcgi-compatible untuk pemrosesan PHP (seperti untuk lepas tangan dari NGINX ke php5-fpm) dan berjalan sebagai proses yang berdiri sendiri pada sistem (tidak seperti plugin Apache PHP)

Untuk versi Ubuntu menurunkan dari 16.04, /etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/, dan seterusnya, diganti oleh /etc/php5/ dan seterusnya. Jika tidak, jalur ini tetap akurat. Sesuaikan ini sesuai dengan lingkungan Anda, ganti 5.6 atau nomor dengan folder versi sebenarnya yang ada di lingkungan Anda.


254
2017-10-12 02:49



php.ini tidak ditemukan di direktori / etc / php5 / apache2. tetapi tersedia di sana dalam direktori cli. - Anuj TBE
@ anujsharma9196 Satu-satunya alasan yang akan menjadi masalah adalah jika Anda tidak menggunakan plugin yang dibangun oleh Apache untuk PHP. Jalur file masih berfungsi seperti yang tercantum di sini hingga hari ini (dikonfirmasi pada 15.04 VM saya) - Thomas Ward♦


Coba jalankan skrip yang berisi cuplikan ini di browser Anda <?php phpinfo(); ?> dan kemudian mencoba mencari sesuatu seperti File Konfigurasi Loaded. Entri ini menentukan php.ini yang digunakan PHP Anda di server Apache Anda.


19
2017-11-05 11:30





untuk php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini

11
2017-08-21 07:45



Saya kehilangan file itu. Paket mana yang menyediakan file itu? - galmok
adalah untuk php7 di ubuntu 16.4 - Softmixt


Untuk menemukan yang mana php.ini CLI menggunakan Anda dapat menjalankan:

php -i | grep 'php.ini'

Contoh keluaran:

$ php -i | grep 'php.ini'

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

7
2018-06-27 15:54



Ini harus menjadi jawaban yang diterima! - Marcelo Ágil