Vraag Zoek het juiste php.ini-bestand


Ik probeer momenteel het juiste php.ini-bestand te vinden om het te bewerken en apache opnieuw te starten, zodat de wijzigingen zullen plaatsvinden en ik stumped ben.

Ik heb drie verschillende php.ini-bestanden gevonden (geen idee waarom er drie zijn)  dit is hoe ik de bestanden heb gevonden

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

Ik deed ook ....

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

Ik heb ze allemaal (voor de zekerheid) veranderd in de instellingen die ik wilde.

Ik heb apache opnieuw gestart met

sudo service apache2 restart

De resultaten...

* Restarting web server apache2

Ik heb de pagina opnieuw geladen en het heeft laten zien dat het bestand php.ini niet is bijgewerkt.

Ik weet dit omdat ik het gebruikte

echo ini_get('post_max_size');

Die moest worden gewijzigd in 20M, maar was nog steeds slechts 2M

Ik probeerde mijn computer opnieuw op te starten, denkend dat dat de apache-server zou stoppen en het php.ini-bestand opnieuw zou laden met de juiste instelling, maar helaas, ook die poging mislukte.

Is er een kans dat er een ander php.ini-bestand kan zijn dat kan interfereren?


148
2017-10-12 00:19


oorsprong


de 'juiste' is in de apache2 subdirectory - Joren
gebruik updatedb; locate php.ini in plaats van find. - sjas
@Michael Het bestand is /etc/php/5.6/apache2/php.ini in Ubuntu 16.04 LTS Xenial Xerus, waar 5.6/ is de versie van php geïnstalleerd. Kopieer eerst het bestand naar php.original.ini open vervolgens om te bewerken met sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


antwoorden:


De drie bestanden die je daar hebt zijn elk bedoeld voor verschillende doeleinden.

/etc/php/5.6/cli/php.ini is voor het CLI PHP-programma, dat je vond door te draaien php op de terminal.

/etc/php/5.6/cgi/php.ini is voor het php-cgi-systeem dat niet specifiek in deze opstelling wordt gebruikt.

/etc/php/5.6/apache2/php.ini is voor de PHP-plug-in die door Apache wordt gebruikt. Dit is degene die je moet bewerken voor wijzigingen die moeten worden toegepast voor uw Apache-installatie.

/etc/php/5.6/fpm/php.ini is voor de php5-fpm processor, een fastcgi-compatibele 'wrapper' voor PHP-verwerking (zoals afleveren van NGINX aan php5-fpm) en wordt uitgevoerd als een zelfstandig proces op het systeem (in tegenstelling tot de Apache PHP-plug-in)

Voor versies van Ubuntu lager dan 16.04, /etc/php/5.6/,/etc/php/7.0/,/etc/php/7.1/, enzovoort, worden vervangen door /etc/php5/ enzovoort. Anders blijven deze paden correct. Pas dit overeenkomstig aan voor uw omgeving, ter vervanging van de 5.6 of nummer met de actuele versiemap die in uw omgeving bestaat.


254
2017-10-12 02:49



php.ini is niet te vinden in de directory / etc / php5 / apache2. maar het is daar beschikbaar in cli-directory. - Anuj TBE
@ anujsharma9196 De enige reden dat het geval zou zijn, is als u de door Apache gebouwde plug-in niet voor PHP gebruikt. De bestandspaden werken nog steeds zoals hier tot op de dag wordt vermeld (bevestigd op mijn 15.04 VM) - Thomas Ward♦


Probeer een script uit te voeren met dit fragment in uw browser <?php phpinfo(); ?> en probeer dan te zoeken naar zoiets Geladen configuratiebestand. Deze invoer specificeert de php.ini die uw PHP gebruikt in uw Apache-server.


19
2017-11-05 11:30





voor php7 ubuntu 16.4

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

11
2017-08-21 07:45



Ik mis dat bestand. Welk pakket levert dat bestand? - galmok
is voor php7 op ubuntu 16.4 - Softmixt


Om te vinden welke php.ini de CLI gebruikt u kunt uitvoeren:

php -i | grep 'php.ini'

Voorbeelduitvoer:

$ 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



Dit zou het geaccepteerde antwoord moeten zijn! - Marcelo Ágil