TonyaGM
TonyaGM

Reputation: 65

PHP not running on VirtualHost after upgrading to OS X Yosemite

Upgraded to OS X Yosemite and now my virtualhosts are spitting out the PHP file contents instead of executing the file.

This works correctly:

http://localhost 

This spits out the file contents onto the screen:

http://localhost/~MYUSERNAME

<?php phpinfo();

http://testing.dev spits out the

<?php and the contents of this file (which is WordPress)

apachectl -t

Syntax OK

/etc/apache2/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Library/WebServer/Documents/
</VirtualHost>

<VirtualHost *:80>
    ServerName testing.dev
    ServerAlias www.testing.dev
    DocumentRoot "/Users/*/Sites/testing"
    ErrorLog "/private/var/log/apache2/testing.dev-error_log"

    <Directory "/Users/*/Sites/testing-env/">
         Options Indexes FollowSymLinks
         AllowOverride AlL
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>

/etc/hosts

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost
127.0.0.1       testing.dev

Why is it spitting out the PHP file instead of executing it?

running php -v gives me

PHP 5.5.3 (cli) (built: Aug 28 2013 13:28:31)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
   with Xdebug v2.2.2, Copyright (c) 2002-2013, by Derick Rethans

error log shows:

[Mon Nov 17 17:30:08.338143 2014] [auth_digest:notice] [pid 3633] AH01757: generating secret for digest authentication ...
[Mon Nov 17 17:30:08.339341 2014] [mpm_prefork:notice] [pid 3633] AH00163: Apache/2.4.9 (Unix) PHP/5.5.14 configured -- resuming normal operations
[Mon Nov 17 17:30:08.339391 2014] [core:notice] [pid 3633] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

Upvotes: 1

Views: 1066

Answers (2)

Lee David Painter
Lee David Painter

Reputation: 510

I had the same issue and found there was a missing configuration section in my httpd.conf. After adding the following and restarting Apache PHP files were processed correctly.

<IfModule php5_module>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
        <IfModule dir_module>
                DirectoryIndex index.html index.php
        </IfModule>
</IfModule>

Upvotes: 0

Martin Bean
Martin Bean

Reputation: 39429

Upgrading OS X restores the Apache configuration files to their defaults. You’ll need to edit them again. From memory, this includes:

  • un-commenting the PHP handler so Apache executes files rather than serving them
  • Setting AllowOverride to All for your web root directory
  • un-commenting the line that loads the VirtualHosts configuration file

Upvotes: 1

Related Questions