The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Odd PHP issues (not working, handler is set)

Discussion in 'General Discussion' started by HeatherE, Oct 16, 2013.

  1. HeatherE

    HeatherE Registered

    Joined:
    Oct 16, 2013
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Root Administrator
    Hi all,

    Sorry if this is a little nonsensical, I've been debugging this for hours, it's getting late, and I'm more than a little exhausted at this point.

    I was having some issues with PHP so I decided to do a rebuild via EasyApache. Following that, PHP has not been working. I do not know if this is something EasyApache has caused or if there is some other configuration issue so I wasn't quite sure where to post.

    The odd part is that when I looked in /usr/local/cpanel/logs/error_log, it's not showing errors there, despite throwing 500 errors whenever I try to load a PHP page (HTML pages load fine). I also looked in the root of the website I'm trying to load, no error logs there either.

    When I add a rule like:

    <FilesMatch "\.(htm|html|php)$">
    SetHandler application/x-httpd-php
    </FilesMatch>

    to the htaccess, then the site displays but does not execute PHP. PHP/Suexec configuration is:

    Default PHP Version (.php files) 5
    PHP 5 Handler suphp

    Apache suEXEC on
    Apache Ruid2 off

    And I get no errors when I run php -v

    I am using a test PHP file which just echoes out some text and exits.

    Any thoughts on how to debug this? Where else can I look for useful logs?

    Thanks.
     
  2. Sys Admin

    Sys Admin Well-Known Member

    Joined:
    Apr 29, 2007
    Messages:
    67
    Likes Received:
    0
    Trophy Points:
    6
    cPanel Access Level:
    Root Administrator
    Few things to check first:

    - check your php.conf file content at /usr/local/apache/conf/php.conf , Try to reset the handler again via WHM > Configure PHP and suEXEC

    - Check your .htaccess files for any conflicting entries.
    - 500 errors are usually an indication of a permission related issue, Check and set the correct ownership (user & group) on the files along with the proper permissions set. Since you are using suphp try setting 644 on your .php/.html files and chmod your directories to 755

    - Also, You can monitor /usr/local/apache/logs/error_log while testing and browsing your site.

    -Some other logs to check if needed:

    /usr/local/apache/logs/suphp_log
    /usr/local/apache/logs/suexec_log

    If you couldn't find anything useful, Then cd into /usr/local/cpanel/logs/easy and review the recent easyapache build log and make sure that it completed successfully, Otherwise I would recommend re-building it once again.
     
  3. HeatherE

    HeatherE Registered

    Joined:
    Oct 16, 2013
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Root Administrator
    Hi, thanks for your help.

    I checked php.conf and seems to be the default file (below). I also reset the handler again, through WHM and through the command line, no joy on either front.

    Code:
    # This file was automatically generated by the Cpanel PHP Configuration system
    # If you wish to change the way PHP is being handled by Apache on your system,
    # use the /usr/local/cpanel/bin/rebuild_phpconf script or the WHM interface.
    #
    # Manual edits of this file will be lost when Apache is updated.
    
    
    # SuPHP configuration for PHP5
    LoadModule suphp_module modules/mod_suphp.so
    suPHP_Engine on
    AddType application/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
    <Directory />
        suPHP_AddHandler application/x-httpd-php5
    </Directory>
    
    # End of autogenerated PHP configuration.
    The .htaccess file which affects the directory where the files I'm trying to access are located only has a couple of rules which I added to temporarily redirect everyone to a maintenance page. I also tried removing those rules and using a blank .htaccess - no joy there either.

    However, I've got some possibly useful log output now, from /usr/local/apache/logs/error_log:

    Code:
    [Thu Oct 17 09:09:25 2013] [error] [client ###.###.###.###] libgcc_s.so.1 must be installed for pthread_cancel to work
    [Thu Oct 17 09:09:25 2013] [error] [client ###.###.###.###] Premature end of script headers: index.php
    (where ###.###.###.### is my IP address)

    So I tried reinstalling libgcc with yum, it appears to be happy that it's installed, reload the page again and the same error comes up.

    I'm really not sure where to go from here. I checked the "Max cPanel process memory" setting in WHM and that's on 512MB. I tried another rebuild with basic settings and nothing going there either.

    The output in /usr/local/apache/logs/suphp_log just shows "Executing "/home/foo/public_html/test.php" as UID 500 GID 513" over and over. There is no suexec_log (is there meant to be? Is that odd?)

    Then in /usr/local/cpanel/logs/easy, there are no files, and in /apache from there I don't see anything that shows any errors, but in /usr/local/cpanel/logs/error_log I now have:

    Code:
    [2013-10-17 09:23:56 +0100] info [apache_conf_distiller] Missing owner for domain myserver.com, force lookup to root
    [2013-10-17 09:24:23 +0100] info [perlinstaller] /root/.cpanel/datastore/Cpanel::Sys::Compiler::test_compile_gcc
    [2013-10-17 09:26:27 +0100] info [perlinstaller] /root/.cpanel/datastore/Cpanel::Sys::Compiler::test_compile_gcc
    [2013-10-17 09:27:00 +0100] info [perlinstaller] /root/.cpanel/datastore/Cpanel::Sys::Compiler::test_compile_gcc
    [2013-10-17 09:31:31 +0100] info [apache_conf_distiller] Missing owner for domain myserver.com, force lookup to root
    [2013-10-17 09:31:31 +0100] info [easyapache] Missing owner for domain myserver.com, force lookup to root
    [2013-10-17 09:31:31 +0100] info [tailwatchd] Updated chkservd tomcat driver from /usr/local/cpanel/src/chkservd/chkserv.d.
    
    (Where myserver.com is my actual server domain.)

    So... aside from reinstalling everything from scratch, any thoughts? I'd rather avoid the hassle of reinstalling everything if possible, but unless there is something glaringly obvious that I'm missing here it seems like the only thing to do?

    - - - Updated - - -

    Forgot to mention and can't see an edit button on my post - I also tried chmodding my files and directories as you suggested, and no joy there either. HTML files are served fine, PHP files are going splat.
     
  4. HeatherE

    HeatherE Registered

    Joined:
    Oct 16, 2013
    Messages:
    4
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Root Administrator
    Ok I have absolutely no idea what happened, but had just grabbed a full backup of everything preparing to reinstall the lot and it now works again. I am pretty certain that me generating the backup changed nothing, so the frustrating thing is I have no idea what fixed this. So one last thing... is there any log that might tell me why my server is now happy so I know how to fix this if it happens again?? I see my last (graceful) reboot in the error log, and I know after that it wasn't working. After that, nothing on the log.

    Aside from that I guess this one is solved, so thanks for your help!
     
  5. cPanelMichael

    cPanelMichael Forums Analyst
    Staff Member

    Joined:
    Apr 11, 2011
    Messages:
    30,854
    Likes Received:
    676
    Trophy Points:
    113
    cPanel Access Level:
    Root Administrator
    Hello :)

    It's important that you check the Apache error log (/usr/local/apache/logs/error_log) instead of the cPanel error log when you are receiving errors on your website. If this happens again, please report the specific 500 error messages logged to your Apache error log to get a better idea of what is causing the problem.

    Thank you.
     
Loading...

Share This Page