我希望这将是一个有用的页面,可以开始运行php代码,并解决当前的问题。我有一些非常简单的代码如下:
<html>
<head>
<title> Practice</title></head>
<body>
This is HTML
<?php
echo "This is PHP";
?>
</body>
<html>
这是在运行apache的ec2网站上上传的。代码不会被解释,当您查看页面的源代码时,它会显示php代码。
你可以看到这个页面。
有什么想法吗?php代码非常基础,我认为它可能与apache配置有关。请让我知道你需要的任何其他信息,我会提供,希望能告诉我如何将其发送到。
您可以使用安装libapache2-mod-php5
apt-get install libapache2-mod-php5
为我工作。
您确定安装了php吗?如果是,您需要确保apache将.php
文件与php处理程序相关联。在/etc/apache/apache.conf
中查找类似以下内容的条目
LoadModule php5_module modules/libphp5.so
和
application/x-httpd-php php php5
更改文件后,您需要通过sudo service httpd restart
重新启动apache
如果您使用的是php7,请确保安装了此模块。
sudo apt-get install libapache2-mod-php7.0
将7.0替换为您正在使用的php版本。
要查找php版本,请使用
php -v
您可能需要.htaccess文件或Apache配置本身中的addHandler或addType:例如AddType应用程序/x-httpd-php.php
在我的案例中,/var/www/
文件夹的权限错误。
我必须运行:
sudo chown -R www-data /var/www/
sudo chgrp -R www-data /var/www/
如果你在用户目录中有网页的内容,比如:
/home/*/public_html
然后你需要启用执行这些,默认情况下是禁用的:
# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
只需注释掉文件中的这段代码:
/etc/apache2/mods-enabled/php7.3.conf
根据您的系统、PHP版本等调整路径和文件名。
添加行:
SetHandler application/x-httpd-php
在配置文件中为我工作