Frage Suchen Sie die richtige php.ini-Datei


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

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

Ich tat es auch ....

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

Ich änderte alle (nur um sicher zu sein) zu den Einstellungen, die ich wollte.

Ich habe Apache neu gestartet

sudo service apache2 restart

Die Ergebnisse...

* Restarting web server apache2

Ich lud die Seite neu und es zeigte, dass die php.ini Datei nicht aktualisiert wurde.

Ich weiß das, weil ich gebraucht 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 und dachte, dass das den Apache-Server stoppen und die php.ini-Datei mit der korrekten Einstellung neu laden würde, aber leider ist dieser Versuch ebenfalls fehlgeschlagen.

Gibt es eine Chance, dass es eine andere php.ini Datei geben könnte, die stören könnte?


148
2017-10-12 00:19


Ursprung


das 'richtige' ist in der apache2 Unterverzeichnis - Joren
benutzen updatedb; locate php.ini Anstatt von find. - sjas
@Michael Die Datei ist /etc/php/5.6/apache2/php.ini in Ubuntu 16.04 LTS Xenial Xerus, wo 5.6/ ist die Version von PHP installiert. Kopieren Sie zuerst die Datei nach php.original.ini dann zum Bearbeiten mit öffnen sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


Antworten:


Die drei Dateien, die Sie dort haben, sind jeweils für verschiedene Zwecke gedacht.

/etc/php/5.6/cli/php.ini ist für das CLI-PHP-Programm, das Sie beim Ausführen gefunden haben php auf dem Terminal.

/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.ini ist für das von Apache verwendete PHP-Plugin. Dies ist die, die Sie bearbeiten müssen für Änderungen, die für Ihr Apache-Setup angewendet werden.

/etc/php/5.6/fpm/php.ini ist für die php5-fpm Prozessor, der ein Fastcgi-kompatibler 'Wrapper' für die PHP-Verarbeitung ist (zB um von NGINX zu php5-fpm) und läuft als eigenständiger Prozess auf dem System (im Gegensatz zum Apache PHP Plugin)

Für 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 für Ihre Umgebung an und ersetzen Sie die 5.6 oder Nummer mit dem aktuellen Versionsordner, der in Ihrer Umgebung vorhanden ist.


254
2017-10-12 02:49



php.ini wurde nicht im Verzeichnis / etc / php5 / apache2 gefunden. aber es ist dort in cli-Verzeichnis verfügbar. - Anuj TBE
@ anujsharma9196 Der einzige Grund dafür ist, wenn Sie nicht das Apache-Plugin für PHP verwenden. Die Dateipfade funktionieren immer noch so, wie es hier bis heute aufgeführt ist (bestätigt auf meiner 15.04 VM) - Thomas Ward♦


Versuchen Sie, in Ihrem Browser ein Skript auszuführen, das dieses Snippet enthält <?php phpinfo(); ?> und dann versuche nach etwas ähnlichem zu suchen Geladene Konfigurationsdatei. Dieser Eintrag gibt die php.ini an, die Ihr PHP auf Ihrem Apache-Server verwendet.


19
2017-11-05 11:30





für php7 ubuntu 16.4

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

11
2017-08-21 07:45



Ich vermisse diese Datei. Welches Paket liefert diese Datei? - galmok
ist für php7 auf Ubuntu 16.4 - Softmixt


Um zu finden, was php.ini Die CLI verwendet Sie können 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

7
2018-06-27 15:54



Dies sollte die akzeptierte Antwort sein! - Marcelo Ágil