• I recently upgraded to wordpress 2.6.2 and now much of the time when I make a new post or edit a post my website errors out and is replaced by the following message

    I talked to my host company (BlueHost) and they pointed me to the tmp folder and to the logs. It looks like the wp-cron.php is whats causing the problem.

    I have no idea what wp-cron.php is and what I need to do to fix the problem. Anyone help?

Viewing 10 replies - 1 through 10 (of 10 total)
  • Moderator Samuel Wood (Otto)

    (@otto42)

    www.ads-software.com Admin

    wp-cron php is not the problem. That’s just what BlueHost likes to blame for their own inability to keep their servers running properly.

    I’d switch hosts.

    Thread Starter AdrianMoss

    (@adrianmoss)

    But the more research I do the more I see people having issues w/ this wp-cron so there must be something to it…?

    Thread Starter AdrianMoss

    (@adrianmoss)

    Also it occurs almost every single time I create a new post or edit an old post

    Moderator Samuel Wood (Otto)

    (@otto42)

    www.ads-software.com Admin

    The problems people have with wp-cron are not related to load. They’re related to making it work properly in the first place. Some servers don’t like the way wp-cron is invoked asynchronously. This is usually due to poor server or DNS configuration.

    And every time you create or edit a post, a new wp-cron job is created to make it attempt to do pingbacks and trackbacks.

    If your server cannot connect to itself, then wp-cron will not work and you’ll get a lot of attempts by your site to hit wp-cron, which will all fail. This doesn’t cause load issues, but it does mean that pingbacks/trackbacks don’t work, future posts don’t post, etc.

    Tell BlueHost to fix their servers so that the site can connect to itself to invoke the wp-cron process, and then it will run properly and the problem will go away. Also tell them that if they have a firewall which prevents your site from contacting other sites (for, say, pingbacks), then they need to turn it off or allow it to go through or something like that.

    You can also disable pingbacks yourself temporarily, if you like. Look in the settings for “Attempt to ping links in the post content” or something to that effect, I don’t recall the exact wording.

    Thread Starter AdrianMoss

    (@adrianmoss)

    Thanks for your help Otto. Do you have any recommendations in terms of hosts where I would not run into this issue? I can try calling bluehost and telling them to fix their servers but I’m guessing their going to tell me to go jump off of a cliff

    I am having the same issue with hostICan. I think that if multiple hosts are having this issue, it may be a wordpress problem.

    Try this topic: https://www.ads-software.com/support/topic/103659?replies=19#post-532749

    Hopefully that will help you. It’s a bit old, but it still holds relevancy as far as I am aware.

    daveatkins

    (@daveatkins)

    Otto,
    Can you tell those of us who are self-hosting exactly what we need to do to make wp-cron work? I have the scheduled posts failing to appear problem; I have to go in manually and change the status from scheduled to published to make them appear. I do not see any error messages in the apache logs related to wp-cron.

    You mention DNS configuration above. Is it necessary that the local server resolve and be able to connect to the “WordPress Address (URL)”?

    How does wp-cron work? Does it use the “WordPress Address (URL” from the general settings page to construct a local connection to the site?

    Moderator Samuel Wood (Otto)

    (@otto42)

    www.ads-software.com Admin

    You mention DNS configuration above. Is it necessary that the local server resolve and be able to connect to the “WordPress Address (URL)”?

    Yes, it is.

    How does wp-cron work? Does it use the “WordPress Address (URL” from the general settings page to construct a local connection to the site?

    Yes, that’s basically exactly how it works. It tries to open a port 80 connection back to its own canonical URL with /wp-cron.php appended to it, in order to invoke the wp-cron process. Or port 443 for https, of course.

    If a server cannot do that, then the server is configured wrong, or there’s a firewall in the way, etc, etc. SELinux has also been known to interfere with this from time to time. You need to configure the server so that this is allowed. I don’t know why some servers think that this is somehow more secure or something, but it is not a security hole, so eliminate that overprotective part of the security.

    daveatkins

    (@daveatkins)

    Thanks…I figured this out and posted my solution to
    https://www.ads-software.com/support/topic/165238/page/3?replies=80#post-898872

    I edited the hosts file so that the url would resolve to the local address of the server.

    In our environment, our other webservers are not aware of their hostnames because we have staging, development, production, etc. servers that are all identical configurations. We do not run an internal DNS in the production network, so if you are on a local server and try to hit the public hostname, it goes for the public ip address which cannot route back through the router.

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘wp-cron.php issue’ is closed to new replies.