On OSX/MacOS do the following in a Terminal window:
Run php --ini
at the prompt by typing it and pressing enter
Reports something like: Configuration File [php.ini] Path: /etc Loaded Configuration File: [none] Scan for additional .ini files in: /Library/Server/Web/Config/php Additional .ini files parsed: [none]
...this is because in /etc there is a file called /etc/php.ini.default as an example and to show it is not in use. You need to copy that file to the name php expects so that you can edit it, like this:
Type:
$ sudo cp /etc/php.ini.default /etc/php.ini [and enter your password]
...then you will see if you run php --ini
again that it now sees your new file:
Typing this: php --ini
at the prompt should report this:
Configuration File [php.ini] Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /Library/Server/Web/Config/php
Additional .ini files parsed: [none]
...now edit /etc/php.ini - you want to make sure the following lines [NOT the same line starting with a semi-colon ';'] are exactly as follows: log_errors = On
[this will turn the logging engine on]
Then, in this section:
; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; //php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog [Event Log on Windows].
;error_log = syslog
If you want to log to the
syslog [or Windows Event Log on Windows] then ;error_log = syslog
should become error_log = syslog
However, if as you say, you want to log to a file, you uncomment by removing the leading semi colon to make ;error_log = php_errors.log
become error_log = php_errors.log
or using a full path to place it where you want.
Good luck
Depending on what system you are running, php.ini could have different locations. But where is php.ini hidden? Linux Windows Mac OS X There are few ways to know where is php.ini file. The safest way to know it, is through the following script: Once you run the script in your favourite browser, the function phpinfo[] will output the what you see in the image. You can find much more details with this function, but in order to locate php.ini, we need to focus only on the field “Loaded Configuration File”. In this example [running Mac OSX 10.6], php.ini is located in /private/etc/php.ini Another pretty safe way to locate your php configuration file [assuming you
are running a UNIX system], is with the following BASH command: This command will search for php.ini file in the whole disk, redirecting any error to null. If you suspect your php.ini file is under the directory /etc/, you can substitute “/” for “/etc/”. The problem with this command, is that you might find multiple php.ini files, and do not really know which one is the active one. The location of the file php.ini depends on the installation of
PHP. Each distribution goes their way, but there are few common patterns: I hope you have found where php.ini is located!Find php.ini
Find it with a PHP script
Find it with BASH script
find /-name 'php.ini'2>/dev/null
Guess where it is
OSPath Linux
/etc/php.ini
/usr/bin/php5/bin/php.ini
/etc/php/php.ini
/etc/php5/apache2/php.ini
Mac OSX
/private/etc/php.ini
Windows [with XAMPP installed]
C:/xampp/php/php.ini
Skip to content
Disable PHP Warning Message
I wanted to disable my warning message from my php installation. To do so
I need to configure my php.ini file. I searched on the internet but couldn’t find a direct answers where to change my php.ini on MacOS Catalina.
For MacOS Catalina the location of php.ini is located at /etc/
You can verify it by printing phpinfo[] and look for “Loaded Configuration File [php.ini] path”
For my MacOS Catalina, the location of php.ini is located at /etc/. As you can see there is no php.ini is loaded [None].
Load Your Own php.ini File
To load your own php.ini, copy the default file into your new php.ini
sudo cp/etc/php.ini.default/etc/php.ini |
Open the php.ini, in this case I’m using atom to open it.
Then change php error reporting into
error_reporting=E_ERROR |
Save it then restart apache.
Then check the php.ini file is loaded correctly by printing the phpinfo. It will shows /etc/php.ini at “Loaded Configuration File” row.
or you can run php –ini to see the loaded configuration file.
When you refresh the website, the warning php message will disappear.
Notes
You can use same technique for MacOS Big Sur on MacBook Pro M1.