WP_MEMORY_LIMIT or WP_MAX_MEMORY_LIMIT ?

the more you know

By default, WordPress enforces a memory limit of 40 MB. This means a single PHP script is allowed to use up to 40 MB of RAM. In certain cases, you may need to increase WordPress’ memory limit to run heavier plugins like WooCommerce or bbPress. To increase WordPress’ memory limit, you can define WP_MEMORY_LIMIT in your wp-config.php file using the line below.

define( 'WP_MEMORY_LIMIT', '256M' );

The setting above will allow WordPress to use up to 256 MB of RAM for each script, as long as the memory_limit setting in your php.ini file is 256 MB or greater. As is often the case with computing resources, setting a higher memory limit doesn’t necessarily increase the performance of your WordPress site. Since WP_MEMORY_LIMIT controls memory allocation PER SCRIPT, it’s actually in your best interest to set it as low as possible to reduce the chance of a rogue script saturating the RAM in your server.

Sometimes, it’s a good idea to tailor WordPress’ memory allocation separately for the frontend and backend. That’s where WP_MAX_MEMORY_LIMIT comes in. WP_MAX_MEMORY_LIMIT allows you to set a different memory limit for WordPress’ administration dashboard. This is useful because certain administration tasks require more RAM. Below is an example of how you can use WP_MEMORY_LIMIT and WP_MAX_MEMORY_LIMIT together.

define( 'WP_MEMORY_LIMIT', '64M' );
define( 'WP_MAX_MEMORY_LIMIT', '256M');

The setting above will allocate up to 64 MB of RAM per PHP script for processes spawned from WordPress’ frontend, while administration-related scripts from the backend dashboard will be able to use up to 256 MB of RAM.

Cannot find wrapper assembly for type library “ADODB”

Happy new year and Happy coding!
Using Visual Studio 2022 on Windows 11 with the latest updates to 24H2, started giving the following errors when trying to compile an older project:

The "ResolveComReference" task returned false but did not log an error.
Cannot find wrapper assembly for type library "ADODB". Verify that (1) the COM component is registered correctly and (2) your target platform is the same as the bitness of the COM component. For example, if the COM component is 32-bit, your target platform must not be 64-bit.

So, you Google a bit and find this, but don’t do that!
In my case, the following article helped, or just a comment from it “Mine was resolved by removing the reference to “Microsoft HTML Object Library” and adding it again in the project.“.

  • In solution Explorer, open ‘My Project’
  • Go to the tab ‘References’
  • Find your mentioned library on the top, in my case, ‘Microsoft ActiveX Data Objects 2.8 Library’ with some ‘ADODB.dll’ in a system32 folder.
  • Click the ‘Add’ button, tab COM > Type Libraries, and find your library, it should be checked.
  • UNCHECK it, and OK the popup
  • Repeat: Click the ‘Add’ button, tab COM > Type Libraries, and find your library, now unchecked.
  • CHECK it, and OK the popup
  • Save everything and try to compile again.

That should work.
If not, so sorry, but it did for me…

Have a nice day!


PHP8 and function list() = each()

Time to write something about PHP again. With PHP 7.2, the function each() is deprecated. The documentation says: “Warning This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged.“.
If you ignored this warning before, in PHP8 you will now get the following error: Fatal error: Uncaught Error: Call to undefined function each() in /path/file.php:line
So, what do you do when you find this in your old code or in some library that you use, but is not being updated anymore? Stackoverflow to the rescue…

Continue reading PHP8 and function list() = each()

How to encode and decode Base64 in VB.NET

Because sometimes you just need a string with ‘normal characters’ instead of funky ones…

Public Function EncodeBase64(input As String) As String
	Return System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(input))
End Function

Public Function DecodeBase64(input As String) As String
	Return System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(input))
End Function

Have a nice day!