可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
OK this is getting very frustrating. MAMP used to display errors but then stopped. I decided to do a fresh install of it as I couldn't figure it out. I check my PHP version, running 5.4.4 and go to that folder and change the php.ini to this:
error_reporting = E_ALL
display_errors = On
Still no errors showing. I go through all the folders and change all php.ini files, just in case. Nothing. I fix the forced error and dump out phpinfo()
, check the error section and display_errors is Off. What the hell.
I place error_reporting(E_ALL); ini_set('display_errors', 'on');
at the start of the PHP file and phpinfo()
again. Local value is now On, master is still Off. Force a PHP error, and still get Server Error not PHP error.
Anybody have any insight? I have a bug somewhere in some code and cannot find it, would love for PHP to just tell me.
回答1:
MAMP sets up a few different php.ini
files for the server, the client etc. Check in your phpinfo()
which php.ini
actually is read. Looks like you're editing the wrong one.
回答2:
There are two php.ini
files on MAMP. You should change both php.ini
files.
Applications/MAMP/bin/php/'php version you are using(php5.5.10)'/conf/php.ini
Applications/MAMP/conf/php/'php version you are using(php5.5.10)'/conf/php.ini
Then change:
display_errors = Off
to:
display_errors = On
回答3:
If you're using MAMP PRO, you've to enable Error handling (PHP) in the UI interface which should contain at least two the main options: 'Display startup errors' and set output 'To: Display'.
Display startup errors
option is equivalent to display_startup_errors
(in PHP) and To: Display
to display_errors
.
See below:
回答4:
Change the setting in your php.ini
file. The file is located in MAMP > conf > php5 > php.ini
Look for display_errors = Off
and change to display_errors = On
After that you need to restart your Apache and MySQL servers for the change to take effect.
回答5:
MAMP PRO users can visit the PHP tab in UI and make sure Log Errors: to screen is checked: screencast
回答6:
If you are using MAMP version 3.2.2 then you only need to change one php.ini file:
Mac: Applications/MAMP/conf/'(php7.0.9)'/php.ini
Windows: C:\MAMP\conf\PHP Version you use'(php7.0.9)'\php.ini
I know this is an old post but MAMP keeps changing their configuration of the files so I hope this helps.
回答7:
Here's a 2018 update to this problem.
First, I'm having the same trouble and found this thread. I used phpinfo() and found yet another location of a php.ini file. Here are the paths (I work on a Mac):
/Applications/MAMP/bin/php/[php version]/conf/php.ini
/Applications/MAMP/conf/php/[php version]/php.ini
and ...
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini
The phpinfo() page lists two sources for the php.ini:
- Configuration File (php.ini) Path
/Applications/MAMP/bin/php/[php version]/conf
- Loaded Configuration File /Library/Application
Support/appsolute/MAMP PRO/conf/php.ini
I ended up changing all three, adding error_reporting(E_ALL)
to some pages, restarting the server (even rebooted the machine) and still cant get it to display any error messages.
i'm not sure where to go from here. Any ideas?
回答8:
Also there is a template saved in MAMP of the php.ini
.
Go to File > Edit Template > PHP > Your Version
.
回答9:
On MAMP 3.2.0 and PHP 7 you'll need to target php.ini-production
and change the value to Production Value = On
回答10:
For newer versions of MAMP, the config file is stored in Appliations/MAMP/bin/php/[php version]/conf
.
Andrew Nagy pointed me in the right direction with his answer, but it wasn't quite correct for my installation of MAMP. Why they're different, I can't tell, but here we are.
If anyone is stuck, the easiest thing to do is to just <?php echo phpinfo(); ?>
in the index file of the application and look for the loaded php.ini
directory.