Apache显示PHP代码而不是执行

imu*_*ion 92 php apache

我最近一直在尝试在我的计算机上安装php和apache.几个小时后,他们已经安装好了.我修改了httpd.conf和php.ini文件,就像每个人都说的那样.然后我创建了一个简单的PHP脚本:

<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用http://127.0.0.1/phpinfo.php它运行它时只显示源代码而不是执行.我正在使用apache2,php5和windows vista.我一直在互联网上搜索没有成功,我差点撞到墙上.谁能救我脑震荡?

编辑线:

PHP.INI:

short_open_tag = On
Run Code Online (Sandbox Code Playgroud)

HTTPD.CONF

LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"
Run Code Online (Sandbox Code Playgroud)

Dan*_*roa 83

你必须启用PHP!检查mods-enabledApache目录中的文件夹(默认值:/ etc/apache2 /),看看是否找到了一个名为的文件php.我不记得扩展,但我认为是.so.

还要检查var/log/apache2/error.log您是否有任何错误.

  • 你运行:a2enmod php5 (8认同)
  • 我的apache目录中没有mods_enabled文件夹 (5认同)
  • 在我的php7的情况下,我不得不做`a2enmod php7.0`它解决了我的问题.以某种方式花了一整天才到达这个帖子! (5认同)
  • 在`mods-enabled`中没有名为`php`的文件,现在怎么办?这个答案没有解释的东西 (3认同)
  • 我只在 mods-enabled 目录中看到 `.conf` 和 `.load` 文件。运行`a2enmod php7.0`给了我以下错误:`考虑php7.0的冲突php5`,`考虑mpm_prefork的冲突mpm_worker`等......并且apache2重启失败 (2认同)

hel*_*lmy 48

哇,这里有很多解决方案!这是我在Ubuntu 16.04上所做的:

sudo apt-get install php libapache2-mod-php
sudo a2enmod mpm_prefork && sudo a2enmod php7.0
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)


Rya*_*erd 34

对于PHP 7(可能也适用于以前的版本),但我必须这样做:

将其添加到/etc/apache2/apache2.conf的底部

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

从终端运行:

sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7
Run Code Online (Sandbox Code Playgroud)

然后不要忘记重新启动Apache,因此它知道你改变了东西:

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

这是摘要来自:https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/

  • 我必须在OSX El Capitan上针对PHP 5.6进行此操作。(使用股票Apache,但自制php56) (2认同)

ini*_*333 23

打开文件

/etc/apache2/httpd.conf

并改变

#LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

所以只需要解开PHP模块的负载 httpd.conf


小智 7

Apache 显示 php 代码而不是执行 问题已修复

1.打开php5.6conf或php7.xconf

# 以下命令:

$ sudo vi /etc/apache2/mods-enabled/php5.6.conf

2.评论以下几行

在此输入图像描述

3. 重启服务器

$ sudo 服务 apache2 重新启动

4 享受吧:)


小智 6

我发现这可以解决我的相关问题.我把它添加到相关<Directory>部分:

<IfModule mod_php5.c>
    php_admin_flag engine on
</IfModule>
Run Code Online (Sandbox Code Playgroud)


小智 5

一个不同的答案对我有用.是的,要安装[sudo] apt-get install libapache2-mod-php5.X


Imr*_*oor 5

添加以下配置/etc/apache2/apache2.conf

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

并重新启动apacheviasudo service apache2 restart