Title: Internal Server Error when donating
Last modified: May 14, 2024

---

# Internal Server Error when donating

 *  Resolved [mexwebmaster](https://wordpress.org/support/users/mexwebmaster/)
 * (@mexwebmaster)
 * [2 years ago](https://wordpress.org/support/topic/internal-server-error-when-donating/)
 * The Donation page has been setup for about 3 months and has stopped working in
   the last week.
 * When submitting a donation it returns a internal server error.
 * WordPress 6.5.2 & PHP 8.1 & theme is fully updated.
 * I have tried updating all plugins, deactivating every plugin but GiveWP and I
   still get them same error.
 * this is the error I see:
   : Return type of MyCLabs\Enum\Enum::jsonSerialize() 
   should either be compatible with JsonSerializable::jsonSerialize(): mixed, or
   the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress
   the notice in on line : Cannot modify header information – headers already sent
   by (output started at /home/wp_yud8n5/artwithlovefoundationcom.stage.site/wp-
   content/plugins/give/vendor/myclabs/php-enum/src/Enum.php:21) in on line
 * The page I need help with: _[[log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Finternal-server-error-when-donating%2F%3Foutput_format%3Dmd&locale=en_US)
   to see the link]_

Viewing 2 replies - 1 through 2 (of 2 total)

 *  Plugin Support [Matheus Martins](https://wordpress.org/support/users/matheusfd/)
 * (@matheusfd)
 * [2 years ago](https://wordpress.org/support/topic/internal-server-error-when-donating/#post-17753631)
 * Hi, [@mexwebmaster](https://wordpress.org/support/users/mexwebmaster/).
 * I’m glad you reached out. I can certainly help you.
 * Warning messages like this display when your site has “Debug Mode” turned on.
   Debug mode is a method for developers to use to find issues in their code and
   compatibility problems with different versions of PHP (the server language WordPress
   uses). Debug mode is usually only used on development sites or non-live sites.
 * In the meantime, while we get the problem resolved, here’s how you can hide those
   warnings: in your wp-config.php file (which you can get to via SFTP or through
   your web host’s file manager) look for a line like this:
 * define(‘WP_DEBUG’, true);
 * Replace it with the following lines:
 * define(‘WP_DEBUG’, true);
   define(‘WP_DEBUG_LOG’, true);define(‘WP_DEBUG_DISPLAY’,
   false);@ini_set(‘display_errors’, 0);
 * Again, this method is normally only used for development, not on live sites.
 * If you need assistance with that, your web host should be able to help. Also,
   there is some official documentation on that: [https://codex.wordpress.org/WP_DEBUG](https://codex.wordpress.org/WP_DEBUG).
   Now, we should check why the page is not working as it should. I noticed that
   the error you shared with me says: “_Cannot modify header information – headers
   already sent by_,” is frequently related to cache. The fix here is a bit technical,
   so I’ll include as much detail as possible, but you may need to reach out to 
   your web developer or web support person to implement these recommendations.
   
   If you’re unfamiliar with caching, it saves server resources by storing copies
   of a page, resource, query, or site so that the next visitor’s visit doesn’t 
   trigger a call to the server at all; they get the saved copy. Instead of the 
   site needing to recreate the page from scratch, it sends a copy, allowing it 
   to load faster.We put together this deep dive into what caching is and how it
   can cause problems: https://givewp.com/documentation/resources/caching/Caching
   works well for speeding up sites, but when a saved copy of the site has sensitive
   information (like donor info), it’s essential that GiveWP not share that with
   the next visitor. If GiveWP is not convinced that the browser requesting the 
   data is correct, it defaults to not showing the data.Caching is handled differently
   on various sites and web hosts. This could mean a caching plugin, or caching 
   could be in a security solution. Hosting providers also have settings for server-
   level caching settings, and they can help make adjustments for you there. Most
   caching solutions have a setting or section for excluding specific URLs or parts
   of URLs (called “slugs”) from caching. At the very least, you should exclude 
   the following slugs from caching:/donations//donation-confirmation//donor-dashboard/*
   any page with a donation form on itAlso, the following query strings (if your
   caching solution has a setting for them):give-embed=donor-dashboardgiveDonationFormInIframe
   =1give-listener=paypal-commercegive-listener=ipngive-listener=stripeYour host
   or the caching plugin/solution can help with that. Some may require a “wildcard”
   like /donations/* to capture all subdirectories under the /donations/ folder.
   Some folks prefer to customize the URLs to their site pages, so you may find 
   that your URLs don’t have the slugs mentioned above, even though they contain
   the same content. In such cases, we recommend whitelisting the page, not just
   the slug; that way, the pages with those essential pieces of information are 
   still excluded from caching. This is especially important for URLs of pages with
   donation forms on them.One helpful tip: Check in with your hosting provider. 
   Most hosts have caching at the server level, and they will be able to adjust 
   this for you. You can also temporarily disable caching on the site to confirm
   that the uncached site isn’t showing the problem.Many security solutions also
   include caching options, so be sure to give those settings a look.While fine-
   tuning the cache falls outside the scope of the support we can provide, your 
   success with online donations is our number one priority, and we’re happy to 
   provide any tips.This was quite a bit of information to share. If you have any
   questions about this, let me know. I’m happy to help.
 *  Thread Starter [mexwebmaster](https://wordpress.org/support/users/mexwebmaster/)
 * (@mexwebmaster)
 * [2 years ago](https://wordpress.org/support/topic/internal-server-error-when-donating/#post-17755360)
 * Thanks for your help! When looking at the server logs it said that error was 
   caused by a SQL script that was failing because I didn’t have a “phone” column
   on the give_donor table. I created the column and retested and it worked!

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘Internal Server Error when donating’ is closed to new replies.

 * ![](https://ps.w.org/give/assets/icon-256x256.jpg?rev=2873287)
 * [GiveWP - Donation Plugin and Fundraising Platform](https://wordpress.org/plugins/give/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/give/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/give/)
 * [Active Topics](https://wordpress.org/support/plugin/give/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/give/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/give/reviews/)

 * 2 replies
 * 2 participants
 * Last reply from: [mexwebmaster](https://wordpress.org/support/users/mexwebmaster/)
 * Last activity: [2 years ago](https://wordpress.org/support/topic/internal-server-error-when-donating/#post-17755360)
 * Status: resolved