简述php环境搭建与配置
作者:船长op 发布时间:2023-11-15 09:08:28
最近在学习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会自动指向到多站点置配中的第一个站点目录
来源:http://www.cnblogs.com/lufy/archive/2012/07/20/2601644.html
猜你喜欢
- Scrapy中Spider的用法Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中
- PyQtGraph是纯Python的,只是它底层调用的是PyQt,也就是Qt的Python封装,底层用C/C++语言开发的库,它是在PyQt
- 1.正态分布简介正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常
- 主要步骤1.生成普通python数组(bytearray(),os.urandom())2.转换成numpy数组(numpy.array()
- 今天闲来无聊无意间看到了百度股票,就想着用python爬一下数据,于是就找到了东方财经网,结合这两个网站,写了一个小爬虫,数据保存在文件中,
- 在今天网络开发方面,JavaScript起了很关键的作用;像jQuery, MooTools, Prototype等等JavaScript框
- <% '************************************************
- 为了今天要写的内容,运行了将近7个小时的程序,在数据库中存储了1千万条数据。——今天要说的是mysql数据库的IF()函数的一个实例。 具体
- 本文实例讲述了Python subprocess模块常见用法。分享给大家供大家参考,具体如下:subprocess模块是python从2.4
- 上一章讲数据的处理,这一章讲数据处理之后呈现的结果,即你有可能看到Loss的走向等,这样方便我们调试代码。1.Tensorboard有两个常
- 支持按照文件夹去批量处理,也可以单独一个文件进行处理,并且可以自定义标识符最近在开发一个答题类的小程序,到了录入试题进行测试的时候了,发现一
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 一般来说,造成MySQL出现中文乱码的因素主要有下列几点:1.server本身字符集设定的问题,例如还停留在latin12.table的语系
- 示例一:直接编写AJAX 实现。 客户端: 代码如下:<!DOCTYPE html PUBLIC &qu
- 报“服务没有及时响应或控制请求”的错误,改用pyinstaller生成也是不行;查资料后修改setup.py如下即可,服务名、脚本名请自行替
- 在数据存储过多时,我们会选择清除,不过有时候也需要找回一些我们之前删掉的数据。有的小伙伴可能会使用不同的方法分别完成,那么今天小编带来的_d
- 一、思路分析和效果图用vue来实现一个瀑布流效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果。然后针对这几个效果的实现,捋下思路:根
- 在数据库中执行建表语句CREATE TABLE `sys_acl` ( `id` int(11) NOT NULL AUTO_INCREME
- 偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题。首先想到的是给容器的四个边添加几块,然后看鼠标进入的时候哪个块先监听到鼠标事件。不
- 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。本章节我们将为大家介绍如