简述php环境搭建与配置

 更新时间:2016年12月05日 08:40:34   作者:船长op  
本文主要对php的环境搭建与配置进行步骤介绍。文章中标出了重点,方便大家阅读,需要的朋友可以参考下

最近在学习PHP,以下是看PHP100视频教程,做的学习笔记,在这里存放以便今后使用。

apache--PHP--DB(mysql)

一、apache:基本工作

·用户通过浏览器访问服务器的文件,它就将该文件传递给用户,在用户的浏览器显示该文件的内容。

·普通文本文件,可以通过apache直接传给用户浏览器显示。

·程序文件,比如PHP,它不能直接在浏览器显示,所以需要apache先调用PHP的某个组件,将PHP文件解析执行后,再返回给apache,apache再将这个执行后的文件,传给用户浏览器显示。

关键配置:

配置文件:conf/httpd.conf;(每次修改完这个文件后,需要重启apache)

1.引入PHP组件

因为在用户访问PHP文件时,apache能够调用到PHP组件,来执行该PHP文件。所以apache在配置的时候,需要在配置文件中,将PHP的组件和它关联起来。

例如我将apache安装在F盘的Program里面,所以它的组件路径就是:LoadModule php5_module "f:/Program Files/php54/php5apache2_2.dll"

2.设置什么时候去调用PHP组件

由于不是用户每次访问的都是PHP文件,所以不是需要每次都让apache都要去调用PHP解析组件。因些需要让apache判断什么时候,才去调用apache.即后缀名,是.php的时候才调用。

在这个标签里面<IfModule mime_module></IfModule>加如下这句:

AddType application/x-httpd-php .php

3.PHP的置配文,路径

PHPIniDir "f:\Program Files\php54"

以上是最关键,必不可少的配置。

其它配置:

在PHP目录中,有两个配置文件 php.ini-development和php.ini-productor 把其中一个名字改成 PHP.INI 就可以了

1.目录权限:

【<Directory "F:/Program Files/Apache2.2/htdocs">】通过这个设置,可以控制访问服务器的目录。

注意这里面的目录级别要大于或等于【DocumentRoot "F:/Program Files/Apache2.2/htdocs"】

例如:<Directory "F:/Program Files/Apache2.2/htdocs"> 只能访问htdocs目录下的站点目录。
<Directory "F:/Program Files/Apache2.2> 可以访问Apache2.2目录下的所有站点目录。

2.默认访问首页的文件名配置:

【<IfModule dir_module>DirectoryIndex index.html index.htm index.php</IfModule>】

通过这个设置,可以控制站点默认的首页;

类似于IIS服务器配置的主机头;

3.日志

logs/access.log 这个文件记录用户的访问,访问的IP 页面,等信息;

4.错误提示信息配置

# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://FREESKYC-B2D592.bavo/subscription_info.html
#

二、多站点配置

原理:用户通过域访问同一个IP地址的服务器时,服务器上的apache将不同的域名,指向服务器不同或相同的文件夹目录。这个过程也叫虚拟主机;

1.目录权限:

【<Directory "F:/Program Files/Apache2.2/htdocs">】通过这个设置,可以控制访问服务器的目录。

注意这里面的目录级别要大于或等于【DocumentRoot "F:/Program Files/Apache2.2/htdocs"】

例如:<Directory "F:/Program Files/Apache2.2/htdocs"> 只能访问htdocs目录下的站点目录。
<Directory "F:/Program Files/Apache2.2> 可以访问Apache2.2目录下的所有站点目录

2.载入多站点的组件:

在apach的配置文件靠近最下方有

#Include conf/extra/httpd-vhosts.conf

把这个#号去除,就可以载入这个组件;

3.配置这个多站点的组件

在apach安装目录里面的

conf\extra\httpd-vhosts.conf

找到这个文件 进行配置

4.配置说明:

NameVirtualHost *:8080 这里的端口号,必须和apach配置文件中一至

ServerAdmin:管理员的邮件地址,为不同站点可以设不同的邮件地址,如果不设置,默认会找到apach配置文件里面的管理员邮件地址;

DocumentRoot 是指向的虚拟目录

ServerName: 需要绑定的域名或IP

ServerAlias 绑定多个域名

ErrorLog 错误日志存放路径,为不同站点建立不同的错误日志

CustomLog 日志文件

以上只需要配置好

例如:

<VirtualHost *:8080>
DocumentRoot "F:/Program Files/www/bcom"
ServerName 127.0.0.3:8080
</VirtualHost>

两个就可以了,复制以上代码,改变目录和绑定的域名,就可以有多个站点了

要注意的是,

*在apach里面的目录权限要和这个多站点的目录对应
即:
<Directory "F:/Program Files/www">

*配置好多站点之后,apach就不会去找先前默认的站点了

这一句也就不起作用了:DocumentRoot "F:/Program Files/apach/htdocs"

*并且在地址栏目中如果输入了不存的,绑定的域名,apach会自动指向到多站点置配中的第一个站点目录

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持脚本之家!

相关文章

  • PHP加密解密实例分析

    PHP加密解密实例分析

    这篇文章主要介绍了PHP加密解密实现方法,结合实例形式分析了PHP自定义函数实现字符串加密与对应解密的相关技巧,需要的朋友可以参考下
    2015-12-12
  • PHP项目在Docker(WSL2)中运行缓慢的解决方法

    PHP项目在Docker(WSL2)中运行缓慢的解决方法

    最近在使用Docker容器运行PHP项目的时候,发现特别缓慢,例如一个干净的 ThinkPHP 5.1 框架,访问首页都需要1秒以上,如果再加上数据库查询、复杂的业务逻辑等代码的话,那速度可想而知,所以本文就给大家介绍了解决方法,需要的朋友可以参考下
    2023-09-09
  • php使用Swoole与WebSocket实现弹幕效果的示例代码

    php使用Swoole与WebSocket实现弹幕效果的示例代码

    在本文中,我们将深入探讨如何使用Swoole与WebSocket结合,实现弹幕效果,并着重强调需要注意的关键地方,以确保我们的弹幕系统能够高效、稳定地运行,感兴趣的朋友可以参考下
    2024-02-02
  • PHP文件下载实例代码浅析

    PHP文件下载实例代码浅析

    这篇文章主要为大家详细介绍了PHP文件下载实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • PHP设计模式中观察者模式详解

    PHP设计模式中观察者模式详解

    观察者模式是极其重要的一个设计模式,也是我几年开发过程中使用最多的设计模式,本文首先概述观察者模式的基本概念和Demo实现,接着是观察者模式在Java和Spring中的应用,最后是对观察者模式的应用场景和优缺点进行总结
    2022-12-12
  • Warning: require(): open_basedir restriction in effect,目录配置open_basedir报错问题分析

    Warning: require(): open_basedir restriction in effect,

    在linux服务器部署thinkphp5的时候PHP报了Warning: require(): open_basedir restriction in effect这个错误,是因为网站目录配置错误,PHP不能引入其授权目录上级及其以上的文件。下面详细讲解如何处理这个问题,需要的朋友可以参考下
    2022-11-11
  • 新安装的MySQL数据库需要注意的安全知识

    新安装的MySQL数据库需要注意的安全知识

    在你自己安装了一个新的MySQL服务器后,你需要为MySQL的root用户指定一个目录(缺省无口令),否则如果你忘记这点,你将你的MySQL处于极不安全的状态(至少在一段时间内)。
    2008-07-07
  • PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】

    PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】

    这篇文章主要介绍了PHP基于DateTime类解决Unix时间戳与日期互转问题,通过DateTime类解决1970年前及2038年后时间戳显示与计算问题,非常简单实用,代码中备有较为详尽的注释便于理解,需要的朋友可以参考下
    2018-06-06
  • PHP自定义函数获取搜索引擎来源关键字的方法

    PHP自定义函数获取搜索引擎来源关键字的方法

    这篇文章主要介绍了PHP自定义函数获取搜索引擎来源关键字的方法,涉及php针对来路页面URL的分析与判断技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • PHP单例模式应用示例【多次连接数据库只实例化一次】

    PHP单例模式应用示例【多次连接数据库只实例化一次】

    这篇文章主要介绍了PHP单例模式应用,结合实例形式分析了php基于单例模式实现多次连接数据库只实例化一次的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-12-12

最新评论