设为首页 收藏本站
查看: 3673|回复: 0

[经验分享] httpd中使用php模块解析php网页

[复制链接]
发表于 2018-12-11 12:20:41 | 显示全部楼层 |阅读模式
在httpd配置文件中添加php解析
  修改apache的配置文件,让apache可以使用php进行解析
httpd的配置文件在/usr/local/httpd/conf/httpd.conf路径
在httpd配置文件中修改如下几个配置参数,在httpd.conf配置文件中查找一下关键字符配置

[root@localhost httpd]# vim conf/httpd.conf
~
这里安装了两个php模块,需要注释掉一个php模块。因为httpd不能同时加载两个php模块
LoadModule php5_module modules/libphp5.so      
#LoadModule php7_module modules/libphp7.so
将ServerName行的注释去掉,这样可以使httpd能够正常启动和访问默认页
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
ServerName www.example.com:80
修改默认的目录策略,denied表示拒绝访问网页目录,granted表示允许访问网页目录,防止打开虚拟主机配置会显示网页报错状态码403
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
#  blocks below.
#

   AllowOverride none
   Require all granted

网页根目录的配置路径及权限配置,Require all  granted这里配置和上面的目录访问有关联的作用,表示网页目录是否能够有权限访问
DocumentRoot "/usr/local/httpd/htdocs"

   Options Indexes FollowSymLinks
   # AllowOverride controls what directives may be placed in .htaccess files.
   # It can be "All", "None", or any combination of the keywords:
   #   AllowOverride FileInfo AuthConfig Limit
   AllowOverride None
   # Controls who can get stuff from this server.
   Require all granted

添加php的解析主页,添加php的解析主页,在访问时才能对php页面正确识别

   DirectoryIndex index.html index.php

添加php解析的配置项,httpd中必须添加解析配置项才能让httpd的php解析请求发送到php模块进行解析
   # If the AddEncoding directives above are commented-out, then you
   # probably should define those extensions to indicate media types:
   #
   AddType application/x-compress .Z
   AddType application/x-gzip .gz .tgz
   AddType application/x-httpd-php .php
  检查httpd配置文件是否正确,测试配置内容,这里注意的是一个使用习惯,在修改配置文件后首先检查配置文件中是否有错误,如果配置文件中配置有误而不检查直接重新启动服务,会造成服务启动时的报错服务启动终止,导致服务对外停止提供访问,这样会造成短时间内服务无法访问的情况,需要检查配置文件后并重启服务,使用graceful对服务重新加载配置即可

[root@localhost httpd]# /usr/local/httpd/bin/apachectl -t
Syntax OK
[root@localhost httpd]# /usr/local/httpd/bin/apachectl graceful
[root@localhost httpd]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1085/sshd  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1388/master
tcp6       0      0 :::3306                 :::*                    LISTEN      8759/mysqld
tcp6       0      0 :::80                   :::*                    LISTEN      873/httpd  
tcp6       0      0 :::22                   :::*                    LISTEN      1085/sshd  
tcp6       0      0 ::1:25
httpd的php解析,在httpd的网页目录下写一个php测试的文件内容
  [root@localhost httpd]# cat htdocs/index.php


php页面正确解析访问结果示例:

httpd加载了php模块,并返回网页报头信息,响应的服务端解析程序是PHP/5.6.37

[root@localhost httpd]# curl -I 192.168.1.233/index.php
HTTP/1.1 200 OK
Date: Sun, 29 Jul 2018 09:22:59 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.37
X-Powered-By: PHP/5.6.37
Content-Type: text/html; charset=UTF-8
  如果写了php测试页但无法显示php的测试页面,需要从下面几个方面检查一遍:
php无法解析,首先检查是否有php模块,是否在httpd配置文件中有php的加载配置参数,是否写入解析php的配置参数,测试时是否指定首页的索引解析页

[root@localhost httpd]# /usr/local/httpd/bin/apachectl -M
Loaded Modules:
core_module (static)
so_module (static)
-----------------------------------略-------------------------
alias_module (shared)
php5_module (shared)
[root@localhost httpd]# cat conf/httpd.conf |grep php.*so
LoadModule php5_module modules/libphp5.so
[root@localhost httpd]# cat conf/httpd.conf |grep AddType
   # AddType allows you to add to or override the MIME configuration
   #AddType application/x-gzip .tgz
   AddType application/x-compress .Z
   AddType application/x-gzip .gz .tgz
   AddType application/x-httpd-php .php
   
[root@localhost httpd]# cat conf/httpd.conf |grep index.php
   DirectoryIndex index.html index.php
  httpd虚拟主机配置
关于虚拟主机:
一台服务器可以运行多个网站,一个主机多个域名指定不同的网站,每个网站都是一个虚拟主机
  修改windows的解析文件,这里只作为测试使用,修改的文件路径在C:\Windows\System32\drivers\etc\  ,用笔记本打开HOSTS文件,写法格式为ip  域名  域名 ;可以指定一个ip有多个域名
在客户端访问没有配置过的默认虚拟主机的httpd,解析任何的域名的ip如果指向该服务器的ip地址会直接访问到该httpd的默认主机上
  配置httpd的虚拟主机,打开虚拟主机配置文件,修改conf/httpd.conf配置文件,去掉注释或添加:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf
  打开虚拟主机配置后,原来的主配置文件中定义的网站配置会失效停止访问,生效的是虚拟主机配置文件中的设置。虚拟主机配置项如下示例:

[root@localhost httpd]# cat conf/extra/httpd-vhosts.conf
# Virtual Hosts
#
# Required modules: mod_log_config
-------------------------------省略---------------------------------------

   DocumentRoot "/usr/local/httpd/docs/abcd.com"    

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650106-1-1.html 上篇帖子: PHP数据库类 下篇帖子: php开发中Excel导入功能的具体实现方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表