Error in Wordpress Based website

Discussion in 'Programming' started by HRA, Jan 19, 2015.

  1. #1
    Hi,

    Im doing some tests in DigitalOcean because I plan to move my site there. So I made a copy of my real site in a CentOS droplet there. Problem is Im facing a error. I tested this site on Ubuntu server too. This error occurs in both of them.
    Right now my "real" site is in Hostgator shared server. In that Im not facing this error.
    So I think this error isn't caused by my site source code. I think Im missing some kind of module. I just don't know what it is.

    For your ease I created a short video to explain the error. As I don't know how to say it, I thought I would show it. Please check it out.


    Any advise is greatly appreciated.

    Thank you.
     
    Last edited: Jan 21, 2015
    HRA, Jan 19, 2015 IP
  2. PoPSiCLe

    PoPSiCLe Illustrious Member

    Messages:
    4,623
    Likes Received:
    725
    Best Answers:
    152
    Trophy Points:
    470
    #2
    Okay, so the page doesn't move forward - might there be anything that checks for valid information? You enter "test" as the email-address, which isn't a valid email-address - I dunno, I'm guessing here, but I'm assuming there's some differences in the PHP-handling - enable error-display, and see if it returns any obvious errors - also, check the console for javascript-errors, which might be the cause.
     
    PoPSiCLe, Jan 19, 2015 IP
  3. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #3
    Oh no mate, not entering valid info is not the case. I tried that. In that video I just entered that so video duration will be less.

    Anyway I turned on display_errors. Tried those steps in the vid. Still happenning. No any error displayed.
    Where should I look now? Im new to this.
    Should I post the content in a log file located in somewhere?

    I also noticed there is one called "display_startup_errors". This is OFF now. Do I need to enable it too?
    Thanks

    EDIT: I should point out that everything works in my real site which is hosted in Hostgator. That's why I guessed this error may have something to with a php module or something. But you guys know better.
    Also I seek advise from Hostgator too, but no reply from them yet.
     
    Last edited: Jan 19, 2015
    HRA, Jan 19, 2015 IP
  4. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #4
    Hi,

    I made a document with differences between Hostgator and DigitalOcean. Let me know if you see something.

    http://i58.tinypic.com/o02o29.jpg


    Also I noticed following things are there in Hostgator, but not in DigitalOcean.
    http://i59.tinypic.com/t53x3d.jpg
    http://i58.tinypic.com/23gzlft.jpg
    http://i58.tinypic.com/65bioy.jpg
    http://i58.tinypic.com/2uh1hth.jpg
    http://i58.tinypic.com/29osl7l.jpg

    Thanks
     
    HRA, Jan 21, 2015 IP
  5. billzo

    billzo Well-Known Member

    Messages:
    961
    Likes Received:
    278
    Best Answers:
    15
    Trophy Points:
    113
    #5
    Can you upload the output of the phpinfo() function somewhere from both your HG account and your new VPS so we can see the configuration differences?

    I saw your video the other day. I watched it quickly. My initial impression is that your form posts back to itself, which many do. So I assumed the problem was there somewhere. I would have to see the video again. Then we would have to work from there.

    Hosting companies generally do not provide support for customers moving away from them.

    Sure. Enable all error reporting. Enable it in php.ini. Put this at the top of your script:

    ini_set('display_errors',1);
    ini_set('display_startup_errors',1);
    error_reporting(-1);

    If the failure comes when attempting to put data in the database, there could be a problem with faulty database credentials or another area. Have to consider all possibilities.
     
    billzo, Jan 21, 2015 IP
  6. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #6
    I installed FastCGI. There were some errors. So Im not sure if I did ALL correctly.
    Either way the error is gone.
    Not sure if something else popped up somewhere else until I check everything.
    So I guess not having the FastCGI in DigitalOcean droplet was the problem.

    If you find a proper way/tutorial to install FastCGI in CentOS without any errors please let me know.

    Thanks a lot for all who replied/ helped.
     
    HRA, Jan 21, 2015 IP
  7. billzo

    billzo Well-Known Member

    Messages:
    961
    Likes Received:
    278
    Best Answers:
    15
    Trophy Points:
    113
    #7
    I have to go now so I do not have time for a detailed response. I do not know why you went with a FastCGI setup if you are the only user on the VPS. There really is no reason for you to do that. Are you running Apache or something else? There could be a whole host of other issues with FastCGI, not the least of which is file permission issues. I will check back later.
     
    billzo, Jan 21, 2015 IP
  8. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #8
    I was just checking out the differences between Hostgator and DigitalOcean. I noticed HG has FastCGI and DO doesn't.
    So I installed it tested if it solves the problem.
    It did.

    I have Apache.
    Like I said Im not very experienced. So I would love to hear your advise on that permission issues, any other issues, why I shouldn't go with FastCGI if Im the only user on VPS.

    Thanks
     
    HRA, Jan 21, 2015 IP
  9. billzo

    billzo Well-Known Member

    Messages:
    961
    Likes Received:
    278
    Best Answers:
    15
    Trophy Points:
    113
    #9
    FastCGI forces PHP scripts to run under the user's name instead of user nobody (or something like that). That is why it is used on shared hosting, for security purposes. It is slower than using Apache as a DSO. However, for Wordpress to auto update and install plugins and stuff it has to have sufficient permissions to write files to the server, FTP for auto update, upload files, etc. This can be a problem when not using FastCGI or suPHP (or mod_ruid2 I think).

    http://codex.wordpress.org/Changing_File_Permissions#Permission_Scheme_for_WordPress

    For your form, the fact that it works with FastCGI and not without it seems to indicate it could be a file permission or ownership problem. I am not sure why, but I cannot think of any other reason at the moment.

    The solution to using getting Wordpress to work right on a setup that is using Apache as a DSO (not using FastCGI or suPHP) is to change the file permissions or ownership of the Wordpress. Apache permissions and stuff is a bit complicated. I did find a few resources you can read. I also found a page that lists the pros and cons of using a FastCGI setup.

    The choice of whether to use FastCGI is yours to make. If you do not want to use FastCGI, I think if you set the file permissions/ownership properly it should work.

    You could try setting your directories to 755 and your files to 664.


    http://boomshadow.net/tech/php-handlers/

    More:

    http://wordpress.stackexchange.com/...hp-handler-to-dso-weird-custom-fields-problem

    http://www.webhostingtalk.com/showthread.php?t=1019206

    http://www.webhostingtalk.com/showthread.php?t=1019206

    http://halfelf.org/2011/wordpress-dso-and-permissions/

    http://www.techinfobit.com/how-to-f...ss-core-and-plugin-auto-update-failed-on-vps/
     
    Last edited: Jan 21, 2015
    billzo, Jan 21, 2015 IP
  10. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #10
    Hi,

    Thanks for the reply and resources.

    I read the resources you provide. I don't understand lot of them.
    But here's what I understand. (pls correct me if Im wrong)
    - DSO is not an option for me because my site is classified ads site. That means users upload images. If I have DSO this won't work correctly.
    - Only handlers I can use is FastCGI or suPHP (as they both will work properly and Im concerned about security)
    - Using one of these aren't security issue.

    Also as you said about permissions, I just checked and all files/ folders were set to 777-maybe something happened when I copied the site from real one. (let's forget about the security threat because of that for a moment-besides this is a test server).
    But doesn't this prove that my issue didn't have anything to do with file permissions as EVERYTHING was accessible to EVERYONE. (again pls correct me if Im wrong.)

    Thanks

    EDIT:
    I just made the permission changes like this:
    sudo find /var/www/html -type f -exec chmod 644 {} +
    sudo find /var/www/html -type d -exec chmod 755 {} +
    Then change wp-content/uploads folder ONLY to 777 (not recursive)

    No errors.
     
    Last edited: Jan 21, 2015
    HRA, Jan 21, 2015 IP
  11. billzo

    billzo Well-Known Member

    Messages:
    961
    Likes Received:
    278
    Best Answers:
    15
    Trophy Points:
    113
    #11
    So you got it to work without using FastCGI by changing the permissions? You can test further by trying to download and install a new theme inside of Wordpress.
     
    billzo, Jan 21, 2015 IP
  12. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #12
    Oh no no. I was trying to say that changing permissions didn't have any effect on the error.
    I say that because originally/ before I install FastCGI, EVERY file, folder had 777.
    That means everyone could read/ write everything.

    Just to be sure I made another droplet, moved the site and before installing FastCGI, changed permissions. Error was still there.

    Thanks
     
    HRA, Jan 22, 2015 IP
  13. billzo

    billzo Well-Known Member

    Messages:
    961
    Likes Received:
    278
    Best Answers:
    15
    Trophy Points:
    113
    #13
    You would only change the permissions if you were not using FastCGI.

    You can put the phpinfo() function in a file and run it to output your PHP configuration on your HG and DO accounts, upload them to PasteBin or even put them here so we can look at the differences. If it is not a permissions issue, then it will probably be a PHP configuration issue. Other than that, you will have to alter your code for testing such as putting in a "made it here" echo statement and running the code and seeing how far you can make it, moving the test code each time until you find out where it dies.

    It is probably a simple problem. They usually are.
     
    billzo, Jan 22, 2015 IP
  14. HRA

    HRA Active Member

    Messages:
    314
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    60
    #14
    I installed a fresh CentOS droplet and added LAMP. Then moved the site and changed permission. (that means no FastCGI). Problem is still there. That means permissions don't have anything to do with it right?

    Also you asked for phpinfo files.

    DigitalOcean Phpinfo JPG file-1.29mb
    http://www.filefactory.com/preview/587l355pl8wb/

    Hostgator Phpinfo JPG file-1.73mb
    http://www.filefactory.com/preview/5y82u613hxh5/

    Also you can check this post of mine from this thread. I made a document and some screenshots about differences.
    https://forums.digitalpoint.com/threads/error-in-wordpress-based-website.2744002/#post-19110350

    Thanks
     
    HRA, Jan 22, 2015 IP