Internal Error 500 Apache, but nothing in the logs?

后端 未结 11 535
失恋的感觉
失恋的感觉 2020-11-27 14:36

I\'m getting 500 Internal Server errors when I try to make an HTTP POST to a specific address in my app. I\'ve looked into the server logs in the custom log directory speci

相关标签:
11条回答
  • 2020-11-27 15:04

    Why are the 500 Internal Server Errors not being logged into your apache error logs?

    The errors that cause your 500 Internal Server Error are coming from a PHP module. By default, PHP does NOT log these errors. Reason being you want web requests go as fast as physically possible and it's a security hazard to log errors to screen where attackers can observe them.

    These instructions to enable Internal Server Error Logging are for Ubuntu 12.10 with PHP 5.3.10 and Apache/2.2.22.

    Make sure PHP logging is turned on:

    1. Locate your php.ini file:

      el@apollo:~$ locate php.ini
      /etc/php5/apache2/php.ini
      
    2. Edit that file as root:

      sudo vi /etc/php5/apache2/php.ini
      
    3. Find this line in php.ini:

      display_errors = Off
      
    4. Change the above line to this:

      display_errors = On
      
    5. Lower down in the file you'll see this:

      ;display_startup_errors
      ;   Default Value: Off
      ;   Development Value: On
      ;   Production Value: Off
      
      ;error_reporting
      ;   Default Value: E_ALL & ~E_NOTICE
      ;   Development Value: E_ALL | E_STRICT
      ;   Production Value: E_ALL & ~E_DEPRECATED
      
    6. The semicolons are comments, that means the lines don't take effect. Change those lines so they look like this:

      display_startup_errors = On
      ;   Default Value: Off
      ;   Development Value: On
      ;   Production Value: Off
      
      error_reporting = E_ALL
      ;   Default Value: E_ALL & ~E_NOTICE
      ;   Development Value: E_ALL | E_STRICT
      ;   Production Value: E_ALL & ~E_DEPRECATED
      

      What this communicates to PHP is that we want to log all these errors. Warning, there will be a large performance hit, so you don't want this enabled on production because logging takes work and work takes time, time costs money.

    7. Restarting PHP and Apache should apply the change.

    8. Do what you did to cause the 500 Internal Server error again, and check the log:

      tail -f /var/log/apache2/error.log
      
    9. You should see the 500 error at the end, something like this:

      [Wed Dec 11 01:00:40 2013] [error] [client 192.168.11.11] PHP Fatal error:  
      Call to undefined function Foobar\\byob\\penguin\\alert() in /yourproject/
      your_src/symfony/Controller/MessedUpController.php on line 249, referer: 
      https://nuclearreactor.com/abouttoblowup
      
    0 讨论(0)
  • 2020-11-27 15:08

    Add HttpProtocolOptions Unsafe to your apache config file and restart the apache server. It shows the error details.

    0 讨论(0)
  • 2020-11-27 15:09

    I just ran into this and it was due to a mod_authnz_ldap misconfiguration in my .htaccess file. Absolutely nothing was being logged, but I kept getting a 500 error.

    If you run into this particular issue, you can change the log level of mod_authnz_ldap like so:

    LogLevel warn authnz_ldap_module:debug
    

    That will use a log level of debug for mod_authnz_ldap but warn for everything else (https://httpd.apache.org/docs/2.4/en/mod/core.html#loglevel).

    0 讨论(0)
  • 2020-11-27 15:10

    Try accessing a static file. If this is not working either then go to all directories from the root "/" or "c:\" to the directory of your file and check if they contain ".htaccess" files.

    I once left a file in "c:\" and it had the most strange results.

    0 讨论(0)
  • 2020-11-27 15:12

    If your Internal Server Error information doesn't show up in log files, you probably need to restart the Apache service.

    I've found that Apache 2.4 (at least on Windows platform) tends to stubbornly refuse to flush log files—instead, logged data remains in memory for quite a while. It's a good idea from the performance point of view but it can be confusing when developing.

    0 讨论(0)
提交回复
热议问题