Wordpress Divi updates don't save - php

I'm a bit of an amateur so I'm sure I've missed something.
I'm running Divi on Wordpress. When i go to update a page, I get the "Your updates couldn't be saved" error. My Wordpress site, as well as it's CPanel, also are loading unusually slowly, which I think is related to the issue. After working on this for a bit, both my site and it's CPanel will fail to load, giving me a "can't establish a secure connection to the server" error. The third symptom, which I can't make heads nor tails of, when I click "update" in the page editor, my browser will often (but not always) launch another tab/pop-up either displaying a preview of the edits or the "pages" page on the WP admin side. All of these issues are new (although I've had similar loading speed issues in the past with this site).
Thinking it may be an overload on my server (which happened due to an attack a few months ago), I let it sit for a few days with no luck. Then, thinking it may be a caching issue on my end, I changed my DNS servers, cleared my browser cache, tried private browsing, used my phone, used different wifi and cellular networks. All to no avail. I briefly had slight luck using my phone as a hotspot, but it only temporarily improved the loading speeds.
I also tried disabling plugins. I made sure everything was up to date. No help.
I went into my wp-config.php file and increased the memory limit to 128M and the WP-max memory limit to 256M. This helped briefly–I could update and save one page but when I tried to change the next, I was back to base 1. I've also increased the memory limits in my .htaccess file. I don't have access to my PHP.init file (there are often delays reaching my host so I'm trying to avoid relying on them when possible).
My last guess (which I have yet to implement) is to update my PHP. That said, I'm running 7.3.6 and had no issue updating the site a few days ago so I'm not sure that's the problem, unless divi's newest update has compatibility issues with 7.3 versions of PHP...
Any further ideas would be greatly appreciated! I'm partway through a cosmetic update (which, I know should be done on a staging site but sometimes best practices are best learnt through mistakes like this) so my site looks somewhat half-finished. That is, I'm anxious to be able to edit it again.
Many thanks in advance

Whenever you try to save something, Divi will make a request through admin-ajax.php, it often happens that a security firewall detects that as a threat (which is obviously not), thus giving you the failed save message. Can you ask you host to check the rules that are triggered and whitelist that action? It can also come from plugins like Wordfence, make sure to whitelist it there too.
You can also attach that layout as JSON here, I can test it on my own server and if I can save changes, we should be on the right path.

Related

Wordpress PHP what's doing the server at this moment?

I have a website (wordpress) published and it works perfectly, but from time to time it gets stuck. You try to enter the page and the server is like blocked, processing, and then for some minutes the website doesn't load.
I even added a cache system and performance optimizations, and the website is much faster now, but that keeps happening, from time to time (several times per day) the web is white, blank, loading for a long time.
I don't know what it is: a plugin? my code? it doesn't happen at a specific moment or action. So I can't identify when or where or why it happens.
So, can I somehow log the php code to know what is being executed at that moment? Where is the code stuck?
BTW, I already disabled the wp-cron. That's not it. And the web is huge so I can't start looking into every file for a loop or something, I need something faster.
I recommend checking on some query monitor which plugins / themes are responsible for the bottleneck. You can use GoDaddy's P3 Profiler plugin, which although it is not having updates, remains one of the best options for profiling a WordPress.
If you use cPanel, check the resource usage and try to identify patterns. For example, is the site slow at a specific time? On specific days of the week?
If you have access to Awstats or similar, you can check if there is any bot that accesses your site at some specific time.
If you treat only the symptom (slowness) you will continue to have the same problem. You need to find the source and then solve it at once.
Also check the access logs for detecting anomalies:
https://www.tecmint.com/find-top-ip-address-accessing-apache-web-server/
Looking on Google, I found some services that I think can help:
https://goupcloud.com [complete optimization and identification of bottlenecks (treatment in the cause and not symptom)]
https://www.wpfaster.org/ [full optimization]
https://www.wpspeedfix.com/ [full optimization]

Too many connections issue on wordpress, using database cache, non shared host

I'm at my wits end here.
A client has a wordpress website that is expected to have heavy traffic incoming next saturday. I was asked to find out if the site can handle the load, and using JMeter my answer is "no", as it keeps having database connection issues.
Now, for the configurations and issue I'm finding.
This is a cloud hosting that as far as I could find out is not shared, using a standard apache / linux configuration. Mysql's "max_connections" variable is 1000, and my tests fail even at something like 50 connections / sec. SHOW PROCESSLIST shows nothing out of the usual, at worst a couple threads sleeping for 3 seconds, but no hanged queries or anything of the sort.
Wordpress itself is a fairly standard configuration. Does use a couple plugins, the one most obviously affecting database performance being woocommerce. Everything else is a gallery plugin then some minor stuff like contact forms. 10 plugins total.
For cache I'm using W3 Total Cache's page, object and database caches. I'm even forcing caches for queries that aren't on the default configuration of W3 cache like COUNT() queries, and it seems to be working as it's showing all queries on homepage cached.
However, JMETER shows as high as 50% failure at 50/sec connections. It's not exactly consistent, sometimes goes up and down but still way above what would be considered acceptable and as I understand way below the server's 1000 connections limit. Still getting too many connections issue. If I turn off cache it goes to like 90%, so that's clearly helping.
At this point, I'm not sure how to further mitigate this problem. Even if I disable every plugin, the number stays above 1% since the homepage then displays barely anything, but obviously I cannot just disable all plugins as that pretty much breaks the website. I can hopefully disable a couple or temporarily force a static response out of them, but there has to be some underlying issue causing this, since I'm not sure that would even be acceptable for the client.
How could I further debug this problem? Is it possible that each plugin creates it's own new connection, for example? Is there a way I can debug, for example, how many connections were opened at the end of a script execution?
Look into using query monitor to see exactly what code is running what kind of queries how long they take etc.
https://wordpress.org/plugins/query-monitor/
This is a great tool for benchmarking performance optimizing templates and various calls.

How WordPress malware create .c file in /tmp/ folder & sending spam emails

I've faced a malware for my WordPress website which cause to send spam emails through my host.
After monitoring, I have noticed there are some strange files in my /tmp/ folder like this:
phpfxL6vs_3ckri2mkhyu6dqip6 & phpfxL6vs.c
which the file phpfxL6vs.c contains :
mine = stratum+tcp://xxxxxxxxxxxxxxxxxxxxxxxxxxx:x#xmr.crypto-pool.fr:3333/xmr
these files are created on even days ( like Oct 28, Oct 26, ... )
Up to now I can't find the source cronjob or script which causes this infection
hope someone could help me ....
A quick list which I usually do in these situations:
First: consider your system compromised. All of it. Trust nothing you see. If you don't find anything it doesn't mean it's not there, it might just be hiding.
Look at your access logs very hard. Most infections I've seen come via POST requests, but a GET with query parameters might be responsible as well. Also, since they might've installed a back door, look for any requests that directly call a .php file instead of /category/article-name/. Look for IPs sending unusually many requests, and requesting few/no images/css files.
This might give you an idea about where the breach began, and you can use that as a starting point to investigate further. Look at the file creation / modification times of those programs, and look at the access logs what happened around that time.
Change all passwords, WP user, ssh/sftp/ftp users, mysql etc pp. Look at every computer with ssh/ftp/WordPress admin access, you might be the source.
Update all Plugins, and WP Core if you didn't. And keep up with the updates.
Setup your wp-config.php to log all POST data, so you'll know exactly what is being sent if they use admin-ajax.php for example. That won't be a magic bullet, but it might give you something to start with.
Look at the error log. Intrusion attempts often create warnings or errors.
When you're confident you've found and fixed the issue, re-install your server and either start with a fresh install of WP in which you manually transfer your content, or restore from a backup that you are reasonably sure is clean (before anything happened). You can't really trust your backups at this point because you don't know when the initial infection happened, but it's not a perfect world and you have to get running again.
After fixing the issue and having a fresh and healthy site, don't stop monitoring POST data and suspicious requests in general for at least another month. It's unlikely that you are the specific target of somebody that will hold back a while to give you a sense of security, but you can't rule it out.

Magento website suddenly has 'No data received' Error code: ERR_EMPTY_RESPONSE

We have Magento running on an eCommerce website an the last few days it seems that some really important pages are simply not loading!
Majority of the pageson the site load fine however if a user is "logged in" and they try to access the cart checkout page, by far the most important page, they receive this very nasty message shown below in the image...
As far as I know, no changes to code have been made the last few days so I do not even know where to look at this point for a solution.
A Google search shows that many people had had this problem before, mostly on WOrdPress sites but there never is a solution posted!
I am hoping someone can point us in the right direction as this is a major problem on this site right now if a user cannot checkout.
The other page that i noticed it is happening on is the page to create a new user account, once you fill the form out and hit submit, it shows the page shown in image as well.
We are running Apache on Ubuntu 12 believe. We also have Varnish Cache if that means anything.
Please help!
Also here is what I get for the same page in FireFox...
As mentioned by others, try flushing the APC Opcode cache.
You can do that by adding the following lines to your magento/index.php right at the top of the file to clear the cache
apc_clear_cache();
apc_clear_cache('user');
WARNING
As one cause of the problem can be a corrupted Opcode cache you should only use this once (add the code, then call the page) and comment it out afterwards, otherwise you won't have any performance improvements by the APC, maybe even a degrading performance as the cache will be filled with every page call.
So, add the code, call the page, then comment the code out. (if it didn't work, comment it out and search for another solution, DON'T leave the code in the index.php)
If you Google for this problem, you will find 100 different answers as it seems many different things can cause this error.
We got ours fixed now and our problem was corruption in PHP's APC Cache.
Flushing APC Cache solved all our problems, perhaps this will help someone someday, it;s another of the 100 things to check!
Clearing the APC Opcode cache resolved this error for me

Drupal Load Balancing

So we have a drupal 6 website that is running good, but now we want to prepare it for a lot of traffic, so the next step is to have 2 web servers running the same site (the database is already running on a separate server) and then use a another server to do the load balancing between those 2.
So yesterday i mirrored the files of the original drupal server (that runs at lets say www.example.com) to the new server (that runs at lets say 123.123.123.123 - just an IP, no domain), than i edited the settings.php file of the second one to make sure that the base url is 123.123.123.123.
once i browsed to 123.123.123.123 to test out if the mirror of the site was working, i got a blank page.. looking at the source, the basic structure was there, but no content, and the CSS was pointing to the right place but still not showing.. I decided to browse to 123.123.123.123/admin/ and see what i could do.. went to the site performance and cleared the cache, didn't do a thing but then i noticed the original drupal was now showing blank... so i went to www.example.com/admin/, cleared the cache also, site was back, but it appeared the menu router was destroyed because i was getting "page not found" everywhere. So i went to the modules page and clicked save hopping that it would rebuild the menu router. It did the trick, site was back online and working good.
Obviously i stopped poking around with 123.123.123.123 and decided it was time to ask for some help from the experts...
What am i doing wrong? Any help would be greatly appreciated!!
Julien
I don't think that out of the box you can do this with D6.
There are a couple of things which will catch you out.
Settings are stored in the database so if your servers are not identical one server will not work.
The database is not set up to work with more than one server accessing it. This could cause race conditions or deadlocks.
Uploaded or generated files will not be mirrored on both servers so files will be missing.
Probably other things too but this is enough to be going on with.
So you have two options:
Go with something like pressflow which is D6 compatible and has options for working on mirrored servers.
Configure your server to handle the load.
Configuring your server may be a good starting point. Here are some tips
make sure Drupal caching is turned on
Use an optcode cache like apc, see some benchmarks here
Install cache router module to use apc for Drupal's cache
install Boost module
There is a much more in depth article here
I would suggest reading the article and doing everything you can on one server. While it is possible to go to 2 or even 200 servers it adds a lot of complexity to your system.

Categories