linux apache不能解析php文件,访问后出现的是源代码,什么原因啊?

发布网友 发布时间:2022-04-28 07:49

我来回答

4个回答

懂视网 时间:2022-04-28 12:11

linux下php不解析的解决办法:

测试文件test.php

代码为

<?php 
phpinfo();
?>

应该返回php信息页面,但是只返回了源代码,排查信息如下:

1、apache没有添加对应的php类型,所以不支持php的脚本解析

解决办法:在配置文件中添加对应类型

找到apache配置文件:知道位置的自己去找,不知道位置的试试使用find命令

在根目录下执行:

#find / -name "httpd.conf"

修改httpd.conf在文件中添加一行内容:

AddType application/x-httpd-php .php

2、没有加上针对php的索引,如果没有该索引的支持,则无法解析用php编写的网页

解决办法:在配置文件中添加对应索引

找到配置文件方法同上,找到

DirectoryIndex index.html

改为

DirectoryIndex index.html index.htm index.php

3、开启了防火墙

用命令:#getenforce

来查看防火墙的状态,若是Enforcing,说明是打开的,请在配置文件中关闭

在/etc/selinu目录下,修改config中的enforcing为disabled

4、未加载php5_module模块

解决办法:添加模块

在配置文件中添加:

LoadModule php5_module modules/libphp5.so

最后重新启动机器。

至此,应该是没有问题的了。重新测试,可以返回php信息

相关学习推荐:PHP编程从入门到精通

热心网友 时间:2022-04-28 09:19

没有加载PHP模块或者是MIME类型没填对,PHP文件被当成了纯文本文件提供下载而不执行里面的代码。Apache本身是不具备执行PHP代码的能力的,需要把PHP当成Apache的一个模块来加载来解析PHP文件。你看看apache的配置文件httpd.conf是否有类似的内容,C:/php-5.3.5 是我电脑上的PHP安装目录,你要改成自己电脑的路径

#添加PHP模块
LoadMole php5_mole C:/php-5.3.5/php5apache2_2.dll

#指定PHP程序的根目录
PHPIniDir "C:/php-5.3.5"

#添加MIME映射,让apache把PHP文件当成代码文件来执行
AddType application/x-httpd-php .php .phtml

感觉LZ是初学者,不会配置PHP运行环境的话,建议你搜一下XAMPP,这个是Linux下的PHP傻瓜包,直接把Apache, PHP,MYSQL 等全部自动部署好了。追问你好,我用的是linux,向你说的那样,我都试过了,linux系统下用的是 .so,不知道什么原因我重新编译了apache后,所有php的配置都还原了,我只更改了httpd.conf,php.ini没改太仔细,可是我对比了以前的php.ini和httpd.conf文件,两个也没有区别,后来我们组长给改好了,谢谢你的回答,我没分了,要不然给你加十分

热心网友 时间:2022-04-28 10:37

apache和php是两码事。
php的网页必须装php5软件来解析。
常用是的LAMP一整套东西,
后两个字母就是MySQL和php,你只搞了前两个,当然不够了,
后面两个也要装的。
你去搜一下LAMP,看看就知道了。

热心网友 时间:2022-04-28 12:11

同楼主一个问题啊,昨天装了一个晚上没搞好,妹的!追问什么问题??

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com