LAMP stack's PHP not working (Ubuntu 13.10 / Apache 2.4.6)

14,038

Solution 1

Just had the same problem. You have to use <?PHP instead of <? or change the following config:

/etc/php5/apache2/php.ini

; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On

Solution 2

Check if you have these lines in your httpd.conf:

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps

Also make sure your php module is loaded:

LoadModule php5_module        modules/mod_php55.so

After that, restart apache and clear your browser's cache before retrying.

Share:
14,038

Related videos on Youtube

xiaose
Author by

xiaose

http://about.me/xiaose

Updated on June 30, 2022

Comments

  • xiaose
    xiaose almost 2 years

    Having problems with PHP on my LAMP stack: PHP scripts aren't being parsed at all. I setup Ubuntu 13.10 on clear machine... And I see now there only clear HTML from page but PHP tags are just like text

    Actually, what I have:

    $ /usr/sbin/apache2ctl status | grep Version

    Server Version: Apache/2.4.6 (Ubuntu) PHP/5.5.3-1ubuntu2.1
    

    $ tail -n 1 /var/log/apache2/error.log

    [Sat Dec 14 19:33:16.307184 2013] [core:notice] [pid 15457] AH00094: Command line: '/usr/sbin/apache2'
    

    $ apache2ctl -S

    VirtualHost configuration:
    *:80                   is a NameVirtualHost
             default server videosurgeon.ll (/etc/apache2/sites-enabled/vs.conf:1)
             port 80 namevhost videosurgeon.ll (/etc/apache2/sites-enabled/vs.conf:1)
             port 80 namevhost videosurgeon.ll (/etc/apache2/sites-enabled/vs.conf:1)
    ServerRoot: "/etc/apache2"
    Main DocumentRoot: "/var/www"
    Main ErrorLog: "/var/log/apache2/error.log"
    Mutex default: dir="/var/lock/apache2" mechanism=fcntl 
    Mutex mpm-accept: using_defaults
    Mutex watchdog-callback: using_defaults
    Mutex rewrite-map: using_defaults
    PidFile: "/var/run/apache2/apache2.pid"
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="www-data" id=33 not_used
    Group: name="www-data" id=33 not_used
    

    $ apache2ctl -M | grep php

     php5_module (shared)
    

    $ cat /work/VS/httpdocs/test.php

    <? phpinfo(); ?>
    

    $ cat /etc/apache2/sites-enabled/vs.conf

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName videosurgeon.ll
    
        DirectoryIndex index.php index.html index.htm
    
        DocumentRoot /work/VS/httpdocs/
    
        <Directory /work/VS/httpdocs/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
        </Directory>
    
        ErrorLog /var/log/apache2/error.log
    
        # Possible values include: debug, info, notice, warn, error, crit,alert, emerg.
        LogLevel notice
    
        CustomLog /var/log/apache2/access.log combined
    </virtualHost>
    

    $ /usr/bin/php --version

    PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:22:11) 
    Copyright (c) 1997-2013 The PHP Group
    Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
        with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
    

    UPD.1: it's mine apache2.conf : http://ge.tt/6Yd8Jj91/v/0


    UPD.2: Today I умут tried to remove everything and just re-install LAMP. The result is exactly the same: PHP does not works.

    sudo apt-get install lamp-server^
    

    But also interesting that phpmyadmin works fine. I just install it as:

    sudo apt-get install php5 php5-cgi phpmyadmin 
    

    It turns out that there (in phpmyadmin) are some settings that give it to use PHP...

    • Admin
      Admin over 10 years
      Are you hure modphp is installed. You could conceivably have installed a non-apache version of php: try apt-get install -y apache2-mod-php5 ; service apache2 restart
  • xiaose
    xiaose over 10 years
    there is no httpd.conf at all
  • xiaose
    xiaose over 10 years
    there is apache2.conf
  • UrbenLegend
    UrbenLegend over 10 years
    Apache does not use httpd.conf in Debian-based installs. They have a site-based configuration located in /etc/apache2/sites-enabled that allows you to use a2ensite and a2dissite to enable/disable configuration files for certain virtual hosts. They also have a central configuration file called apache2.conf. Either try putting what Sebas has listed in apache2.conf or in the relevant site configuration file in sites-enabled.