我已经使用以下内容在我的raspeberry pi 3上安装了apache2和php 5:
apt-get -y install apache2
apt-get -y install php5 libapache2-mod-php5
当我通过IP地址将浏览器指向pi时,我得到了"它的工作原理" apache页面,所以看起来一切都很好......直到我尝试通过http://192.168.1.102/test.php访问一个简单的.php文件。
测试.php看起来像这样:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php phpinfo(); ?>
</body>
</html>
当我如上所述将浏览器指向该文件时,它会在文本编辑器中打开文件而不是执行它。
运行 a2enmod php5 返回&#34;模块php5已启用&#34;
test.php在var / www / html
中我看了PHP code is not being executed, instead code shows on the page,答案并没有解决我的问题。主要是,最受欢迎/相关的答案是我编辑httpd.conf,这在我的安装中不存在。
以下是该帖子最受欢迎的答案的逐点说明:
- 确保PHP已正确安装并运行。这可能听起来很傻,但你永远不会知道。一种简单的检查方法是从命令行运行php -v,看看是否返回版本信息或任何错误。
醇>
pi@raspberrypi:/ $ php -v
PHP 5.6.30-0+deb8u1 (cli) (built: Apr 14 2017 16:20:58)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
- 确保在Apache的httpd.conf中列出并取消注释PHP模块这应该类似于LoadModule php5_module&#34; c:/php/php5apache2_2.dll"在文件中。搜索LoadModule php,并确保前面没有注释(;)。
醇>
在目录/ etc / apache2下,在文件apache2.conf中:
# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
在目录/ etc / apache2 / mods-enabled下,在文件php5.load中:
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
- 确保Apache的httpd.conf文件中包含PHP MIME类型。这应该类似于AddType application / x-httpd-php .php。这告诉Apache将.php文件作为PHP运行。搜索AddType,然后确保有一个PHP条目,并且它已取消注释。
醇>
在目录/ ect / apache2 / mods-enabled下,在文件php5.conf中:
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
- 确保您的文件上有.php扩展名,或者在第3点的MIME定义中指定的扩展名,否则它将不会以PHP格式执行。
醇>
他们这样做。
- 确保您没有在PHP文件中使用短标签(
醇><
?),默认情况下不会在所有服务器上启用这些标签。请改用<
?php(如果您的代码依赖于它们,则使用short_open_tag = On启用php.ini中的短标记。)
仔细检查了这一点。
- 确保使用http://localhost/file.php之类的网址通过网络服务器访问您的文件,而不是通过本地文件访问文件://localhost/www/file.php
醇>
我正在访问http。尝试了本地(同一台计算机)和远程(我网络上的计算机),结果相同。
不确定其他哪些信息是有意义的,但我已经在网上搜索过但无法找到有效的解决方案(大部分都会按照上面的说法重新安装)。我甚至完全清除并重新安装。
提前感谢您的帮助。
答案 0 :(得分:0)
好的,终于搞清楚了!
事实证明,在不同的演变中,我的儿子安装了nginx。这就是正在运行的东西。删除nginx解决了这个问题。事实证明我试图弄清楚为什么Apache没有按照我的预期行事,但不是apache tat正在为网站服务!