如何解决如何在Apache2-Ubuntu上托管.php文件?
我将我的Web应用程序托管在Google Cloud上进行我的成熟考试。因此,我创建了VM(在ubuntu上运行)并在其上安装了apache2。然后,我成功安装了PHP。问题是,即使我正确安装了PHP,它也只托管.html文件。当我尝试托管.php文件时,会发生HTTP错误500。 phpinfo.php是唯一可以运行的文件。
<?php phpinfo(); ?>
我的问题是。如何更改Google Clouds Ubuntu上Apache的配置?
解决方法
Apache配置问题可能导致HTTP 500错误。如果您的代码生成500错误,请检查以确保它们具有在其所在目录中运行的权限。默认情况下,Apache不允许程序执行。因此,尝试使用CHMOD为您的虚拟主机目录授予权限。
有关该错误的更多详细信息,还应检查Apache错误日志,如:
tail -f /var/log/apache2/error.log
,
PHP是安装程序的组件,它将处理代码以显示动态内容。它可以运行脚本,连接到MySQL数据库以获取信息,并将处理后的内容移交给Web服务器进行显示。
再次,利用apt系统安装PHP。另外,这次包括一些帮助程序包,以便PHP代码可以在Apache服务器下运行并与您的MySQL数据库对话:
sudo apt install php libapache2-mod-php php-mysql
这应该安装PHP没有任何问题。我们稍后将对此进行测试。
在大多数情况下,您将需要在请求目录时修改Apache提供文件的方式。当前,如果用户从服务器请求目录,则Apache首先将查找名为index.html的文件。我们要告诉Web服务器比其他服务器更喜欢PHP文件,因此让Apache首先寻找index.php文件。
为此,请键入以下命令,以具有root用户权限的文本编辑器打开dir.conf文件:
sudo nano /etc/apache2/mods-enabled/dir.conf 看起来像这样:
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
将PHP索引文件(上面突出显示)移动到DirectoryIndex规范之后的第一个位置,如下所示:
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
完成后,请按CTRL + X保存并关闭文件。键入Y确认保存,然后按Enter确认文件保存位置。
此后,请重新启动Apache Web服务器,以便识别您的更改。通过键入以下内容来完成此操作:
sudo systemctl restart apache2
您还可以使用systemctl检查apache2服务的状态:
sudo systemctl status apache2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。