PHP pages doesnt work at all

Discussion in 'Installation/Configuration' started by rohitbanerjee, Nov 27, 2010.

  1. rohitbanerjee

    rohitbanerjee New Member

    I have a Virtuozzo VPS with CEntOS 5.5 x86_64 running on it. I followed the http://www.howtoforge.com/perfect-server-centos-5.5-x86_64-ispconfig-3 tutorial to install the lates stable version of ISPConfig 3 available (ISPConfig-3.0.2.1). I even made sure some of the missing links or resources were substituted in the packages installation processes.

    The installation went fine and I intend to use this server for Name-based hosting. I have a 6-8 different domain names registered that I have pointed to the IP of the sever which has the ISPConfig installed. Since they are Name-based, I have not configured any DNS on the ISPC panel (Don't think that required in this case).

    The only problem for is that I cannot get index.php or any .php page to run on any of the vhost sites that I have created in ISPC. Every time I get a 500 error page. I scoured the forum for similar issues other faced and got these
    HTML:
    http://www.howtoforge.com/forums/showthread.php?t=32919
    HTML:
    http://www.howtoforge.com/forums/showthread.php?t=39671
    but both didn't give any clear indication of solution o my problem. I tried changing the PHP modules to Fast-CGI, then CGI, then Mod-PHP and then even SuPHP. I even tried to have all the different possible combination of enabling/disabling SuEXEC with each of the php modules.

    I checked the conf files to check if PHP was excluded by default or not. In /etc/httpd/conf/httpd.conf file, it included
    Code:
    conf.d/*.conf
    but it had
    Code:
    DirectoryIndex index.html index.html.var
    So I checked in /etc/httpd/conf.d/php.conf and found that it had
    Code:
    AddHandler php5-script .php
    AddType text/html .php
    DirectoryIndex index.php
    This should mean that php module is always included as one of the index handlers.


    I also checked the vhost files in /etc/httpd/conf/sites-available/ and /etc/httpd/conf/sites-enabled and found there is no 000-default vhost file at all. instead there's 000-app and 000-ispconfig vhost files (perfectly normal settings there).

    So I'm really stumped and I have a client presentation of a PHP-based CMS site in a few days that I wanted to show on this ISPC server. Till and Falko or anyone else, can you help me? Thanks in advance.
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Please post the exact error message from the apache error log of the website.

    Additionally, check the ispconfig monitor or errors.
     
  3. rohitbanerjee

    rohitbanerjee New Member

    Wow, my server just got hacked. I'm reinstalling everything, once done I'll post the error log of apache and the ISPC monitor.
     
  4. rohitbanerjee

    rohitbanerjee New Member

    The ISPC monitor shows everything normal but the apache/httpd error log file had the following latest entry -
    Code:
    [Mon Nov 29 02:50:15 2010] [notice] mod_fcgid: call /var/www/[COLOR="YellowGreen"]some-vhost-domain[/COLOR].com/web/index.php with wrapper /var/www/php-fcgi-scripts/web4/.php-fcgi-starter
    [Mon Nov 29 02:50:18 2010] [notice] mod_fcgid: process /var/www/[COLOR="YellowGreen"]some-vhost-domain[/COLOR].com/web/index.php(30110) exit(communication error), terminated by calling exit(), return code: 254
    [Mon Nov 29 02:53:16 2010] [error] [client [COLOR="YellowGreen"]some-ip[/COLOR]] PHP Warning:  Call-time pass-by-reference has been deprecated - argument passed by value;  If you would like to pass it by reference, modify the declaration of [runtime function name]().  If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.  However, future versions may not support this any longer.  in /usr/local/ispconfig/interface/web/monitor/show_sys_state.php on line 199, referer: http://[COLOR="YellowGreen"]some-ip[/COLOR]:8080/index.php
    [Mon Nov 29 02:53:16 2010] [error] [client [COLOR="YellowGreen"]some-ip[/COLOR]] PHP Warning:  Call-time pass-by-reference has been deprecated - argument passed by value;  If you would like to pass it by reference, modify the declaration of [runtime function name]().  If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.  However, future versions may not support this any longer.  in /usr/local/ispconfig/interface/web/monitor/show_sys_state.php on line 199, referer: http://[COLOR="YellowGreen"]some-ip[/COLOR]:8080/index.php
    I guess these lines are hints as to why PHP isnt working in the vhost but works for the ISPC panel. Any suggestions how to go ahead? Thanks in advance.

    Note: Please don't mind me masking the domain names and the ips. I'm a little paranoid after the recent hack attack on my server 2 days back.
     
  5. rohitbanerjee

    rohitbanerjee New Member

    Here's more of what I got from the /var/www/clients/client1/web4/log/error.log when I set the php settings to Mod-PHP in ISPC

    Code:
    [Mon Nov 29 10:52:56 2010] [error] [client [COLOR="SeaGreen"]some-ip[/COLOR]] PHP Warning:  [eAccelerator] Can not create shared memory area in Unknown on line 0
    [Mon Nov 29 10:52:56 2010] [error] [client [COLOR="SeaGreen"]some-ip[/COLOR]] PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0
    [Mon Nov 29 10:52:56 2010] [error] [client [COLOR="SeaGreen"]some-ip[/COLOR]] Premature end of script headers: index.php
    Do you guys think its because of the php-eaccelerator package ?
    It just annoys me to think that php is working for ISPC but not working for the vhost sites.

    Any help is appreciated. Thanks in advance.
     
  6. falko

    falko Super Moderator Howtoforge Staff

    Which PHP mode do you use for that web site? Have you tried to disable eAccelerator?
     
  7. rohitbanerjee

    rohitbanerjee New Member

    As I explained earlier, I tried using all the different PHP modes, none of them work properly. If you like, I'll post the error log for each different modes of PHP.

    How do i disable eAccelerator? I googled and found these pages
    http://eaccelerator.net/wiki/Settings
    http://eaccelerator.net/wiki/InstallFromSource

    I snooped around and found that /etc/php.d/eaccelerator.ini has the following
    Code:
    ; Enable eAccelerator extension module
    zend_extension = /usr/lib64/php/modules/eaccelerator.so
    ; Options for the eAccelerator module
    eaccelerator.cache_dir = /var/cache/php-eaccelerator
    eaccelerator.shm_size = 0
    eaccelerator.enable = 1
    eaccelerator.optimizer = 1
    eaccelerator.check_mtime = 1
    eaccelerator.filter = ""
    eaccelerator.shm_max = 0
    eaccelerator.shm_ttl = 3600
    eaccelerator.shm_prune_period = 0
    eaccelerator.shm_only = 0
    eaccelerator.compress = 1
    eaccelerator.compress_level = 9
    eaccelerator.keys = "shm_and_disk"
    eaccelerator.sessions = "shm_and_disk"
    eaccelerator.content = "shm_and_disk"
    eaccelerator.debug = 0
    
    As per the URLs above, I suspect that a Symlink for /usr/lib64/php/modules/eaccelerator.so might work.


    Any ideas? Thanks in advance.
     
  8. falko

    falko Super Moderator Howtoforge Staff

    You can comment out all lines in /etc/php.d/eaccelerator.ini and restart Apache.

    What's the output of
    Code:
    ls -la /usr/lib64/php/modules/eaccelerator.so
    ?
     
  9. rohitbanerjee

    rohitbanerjee New Member

    Code:
    -rwxr-xr-x 1 root root 656758 Oct  5  2007 /usr/lib64/php/modules/eaccelerator.so
    I got the php page working finally but only on Mod-PHP. Added a phpinfo() function. Anything specific that I should check in it?
     

Share This Page