Finden Sie die richtige php.ini-Datei


169

Ich versuche gerade, die richtige php.ini-Datei zu finden, um sie zu bearbeiten und Apache neu zu starten, damit die Änderungen wirksam werden und ich ratlos bin.

Ich habe drei verschiedene php.ini-Dateien gefunden (keine Ahnung, warum es drei gibt). So habe ich die Dateien gefunden

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

Habe ich auch gemacht ....

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

Ich habe alle (nur um sicherzugehen) auf die gewünschten Einstellungen geändert.

Ich habe Apache mit neu gestartet

sudo service apache2 restart

Die Ergebnisse...

* Restarting web server apache2

Ich habe die Seite neu geladen und festgestellt, dass die Datei php.ini nicht aktualisiert wurde.

Ich weiß das, weil ich es benutzt habe

echo ini_get('post_max_size');

Das sollte auf 20M geändert werden, war aber immer noch nur 2M

Ich habe versucht, meinen Computer neu zu starten, da ich dachte, dies würde den Apache-Server anhalten und die php.ini-Datei mit der richtigen Einstellung neu laden, aber leider schlug dieser Versuch auch fehl.

Besteht die Möglichkeit, dass eine andere php.ini-Datei stört?


6
Das 'richtige' befindet sich im apache2Unterverzeichnis
Joren

1
Verwenden Sie updatedb; locate php.inianstelle von find.
Sjas

@Michael Die Datei ist /etc/php/5.6/apache2/php.iniin Ubuntu 16.04 LTS Xenial Xerus, wo 5.6/die Version von PHP installiert ist. Kopieren Sie zuerst die Datei php.original.iniund öffnen Sie sie dann zum Bearbeiten mit sudo gedit /etc/php/5.6/apache2/php.ini
Hedley Finger

Antworten:


289

Die drei Dateien, die Sie dort haben, sind jeweils für unterschiedliche Zwecke bestimmt.

/etc/php/5.6/cli/php.iniist für das CLI-PHP-Programm, das Sie gefunden haben, indem Sie es phpauf dem Terminal ausgeführt haben.

/etc/php/5.6/cgi/php.ini ist für das PHP-CGI-System, das in diesem Setup nicht speziell verwendet wird.

/etc/php/5.6/apache2/php.iniist für das von Apache verwendete PHP-Plugin. Diese müssen Sie bearbeiten, damit die Änderungen für Ihr Apache-Setup übernommen werden.

/etc/php/5.6/fpm/php.iniist für den php5-fpmProzessor gedacht, der ein FastCGI-kompatibler 'Wrapper' für die PHP-Verarbeitung ist (z. B. zur Weitergabe von NGINX an php5-fpm) und als eigenständiger Prozess auf dem System ausgeführt wird (im Gegensatz zum Apache PHP-Plugin).

Für die Versionen von Ubuntu niedriger als 16.04, /etc/php/5.6/, /etc/php/7.0/, /etc/php/7.1/, und so weiter, werden ersetzt durch /etc/php5/und so weiter. Ansonsten bleiben diese Pfade genau. Passen Sie dies entsprechend Ihrer Umgebung an, indem Sie die 5.6oder -Nummer durch den tatsächlichen Versionsordner ersetzen, der in Ihrer Umgebung vorhanden ist.


1
Die Datei php.ini befindet sich nicht im Verzeichnis / etc / php5 / apache2. aber es ist dort im cli-verzeichnis verfügbar.
Anuj TBE

2
@ anujsharma9196 Der einzige Grund, der der Fall wäre, wäre, wenn Sie nicht das von Apache erstellte Plugin für PHP verwenden. Die Dateipfade funktionieren immer noch wie hier aufgeführt (bestätigt auf meiner 15.04 VM)
Thomas Ward

21

Führen Sie in Ihrem Browser ein Skript aus, das dieses Snippet enthält, <?php phpinfo(); ?>und suchen Sie dann nach einer geladenen Konfigurationsdatei . Dieser Eintrag gibt die php.ini an, die Ihr PHP auf Ihrem Apache-Server verwendet.


14

Um herauszufinden, welche php.iniCLI verwendet, können Sie Folgendes ausführen:

php -i | grep 'php.ini'

Beispielausgabe:

$ 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

Dies sollte die akzeptierte Antwort sein!
Marcelo Ágil

1
Das ist gut, gibt aber die cli geladenen Configs nur für PHP. Um die Apache-Konfiguration zu laden, muss phpinfo () auf einer Webseite ausgeführt werden.
Dipu Raj

13

für php7 ubuntu 16.4

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

1
Ich vermisse diese Datei. Welches Paket stellt diese Datei bereit?
Galmok

ist für PHP7 auf Ubuntu 16.4
Softmixt

1

Sie können die verwendete Datei finden, indem Sie diese auf dem Terminal ausführen:

php --ini
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.