Method 1
One way to find out exactly which php.ini
file your web sever is using is by creating a new PHP file in document root called info.php
.
<?php
phpinfo();
?>
Load this file in your browser, press CTRL
+ F
(or Command
+ F
on Mac) and search for “Loaded Configuration File”. You should see something like
/etc/php/8.1/apache2/php.ini
This will tell you the exact location of the php.ini file you want to edit.
Method 2
In Linux, run this command to locate the PHP.ini
configuration file.
php -i | grep "Loaded Configuration File"
Or in Windows Command Line:
php -i | findstr /c:"Loaded Configuration File"
The result should be something like this:
Loaded Configuration File => /etc/php/8.1/cli/php.ini
In the above example, we can see that the PHP install is located in /etc/php/8.1
. Note that there are three different configuration files you should we aware of:
CLI
/etc/php/8.1/cli/php.ini
is for the CLI PHP program. Changes to this config file will only affect PHP as it runs in the terminal – it will NOT affect the web server.
Apache
/etc/php/8.1/apache2/php.ini
is for the PHP plugin used by Apache. This is the one you need to edit if you are using the Apache web server.
Nginx or Apache with PHP-FPM
/etc/php/8.1/fpm/php.ini
is a fastcgi-compatible ‘wrapper’ for PHP processing. This is the one you need to edit if you’re using the Nginx web server or Apache with PHP-FPM.
Method 3
Using the locate
command in Linux,. If it’s not already installed, run sudo apt update && sudo apt install mlocate
.
locate php.ini
You should see a list of php.ini files here. Try editing one of them and restarting you web server to see if makes the required changes.
Editing php.ini in Linux
Apache
On Apache, php.ini
is usually located in /etc/php/8.1/apache2/php.ini
. Replace 8.1
with your own version, e.g, php5.6
, php7.4
, etc.
To edit:
sudo nano /etc/php/8.1/apache2/php.ini
However, if you are using PHP FPM, it may be located in /etc/php/8.1/fpm/php.ini
. Replace 8.1
with your own version, e.g, php5.6
, php7.4
, etc.
To edit:
sudo nano /etc/php/8.1/fpm/php.ini
To save file and exit, press CTRL
+ X
, press Y
and then press ENTER
You must restart Apache after altering php.ini
.
sudo systemctl restart apache2
If you are using PHP-FPM, you must restart that service. Replace php8.1
with your own version, e.g, php5.6
, php7.4
, etc.
sudo service php8.1-fpm restart
Nginx or Apache with PHP-FPM
Nginx uses PHP FPM and php.ini
is usually located in /etc/php/8.1/fpm/php.ini
. Replace 8.1
with your own version, e.g, php5.6
, php7.4
, etc.
sudo nano /etc/php/8.1/fpm/php.ini
Save and exit (press CTRL
+ X
, press Y
and then press ENTER
)
You must restart Nginx after altering php.ini
.
sudo systemctl reload nginx
Older Versions
For versions of Ubuntu lower than 16.04, /etc/php/5.6/
,/etc/php/7.0/
,/etc/php/7.1/
, and so on, are replaced by /etc/php5/
and so on. Otherwise, these paths remain accurate.
Let me know if this helped. Follow me on Twitter, Facebook and YouTube, or 🍊 buy me a smoothie.
Very good… this information saved me!
Thanks