没搞过php,真头痛
《1》通过yum装的,
yum -y install httpd
《2》不要乱修改配置文件(如LoadModule,AddType 什么的,根本不需要)
/etc/httpd/conf/httpd.conf
在/etc/httpd/conf/httpd.conf中,会加载其他conf文件
Include conf.d/*.conf
而应该在这里增加文件 /etc/httpd/conf.d/php.conf
【】网上一堆说直接修改该文件,随着时间的推移,这些资料都老了,这以后安装其他东西,也务必要小心,尤其是网上资料,很多都不说os、不说版本。
php.conf文件如下:(默认都是配置好的)
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
《3》检查httpd配置
[root@centos1 httpd]# apachectl -t
Syntax OK
启动:httpd
访问发现如下:
Forbidden
You don't have permission to access /index.php on this server
网上搜索后,大部分说的是把,Deny from all 修改为 Allow from all
不管用!
搞了很久,都没进展。于是硬着头皮去看httpd.conf说明
发现:
Apache启动用户是用apache,而我安装使用root,启动也是用root用户,于是,我试了下使用apache用户能否访问DocumentRoot,
ls: 无法访问/var/www: 权限不够
因为,默认yum安装,DocumentRoot指向的/var/www/html,用户apache没有权限访问,这才是问题关键。
解决办法 2种都可以:
(1)修改启动用户
User apache
Group apache
将这个改成root
User root
Group root
(2)移动目录到具有访问权限下,重新指定DocumentRoot目录
方法1简单,但是不建议使用该方式。
重启apache(httpd -k restart)后,久违的It works!