PHP基础1--环境搭建
主要:
- 环境搭建
- 站点配置

环境搭建
web运行流程:
1. 浏览器输入地址,回车(发送请求)
2. 根据规则找到对应web服务器。规则如下:
首先在本机hosts文件中找对应IP
hosts位置: 操作系统 /system32/drivers/etc/
【管理员身份打开编辑器,才能保存这个文件】
如果host没有找到,则到互联网找对应IP(DNS服务器中)
如果还是没有找到,则终止请求,返回“找不到服务器”提示
3. web服务器取得对应文件(就是请求的文件).如有需要对该文件进行一定的处理
4) 将文件(或执行结果)返回给浏览器(返回应答)
5) 浏览器接收文件,显示结果
命令行运行php脚本
php安装目录/php.exe -f “php文件路径 #运行php文件
php安装目录/php.exe -r “php脚本代码” #运行php代码

apache,mysql,php安装
规划软件安装目录: 如d:/amp/
apache下载: http://www.apache.org/dyn/closer.cgi
apache安装:同安装一般windows软件类似 【略】
php安装: 直接解压即可使用
mysql安装: 同安装一般windows软件类似 【略】
apache配置 : 访问php
配置文件中加入配置:【apache安装目录/config/httpd.conf】
# 装载PHP模块,即是PHP语言包中的一个文件
LoadModule php5_module "D:/amp/php/php5apache2_4.dll" #以.php结尾的文件,找php语言模块 【方式1】
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch> #指定后缀使用php语言模块解析: 【方式2】:
AddType application/x-httpd-php .php .pap .phtml
重启apache,可以测试访问php文件
apache配置检测命令:在cmd中运行
apache安装位置/bin/httpd.exe -t #没有语法错误,显示/返回: syntax OK
PHP配置:
时区配置
step1 : php目录/php.ini-development 复制修改为 php.ini
step 2: 打开php.ini 搜索【ctrl+f 快捷键】“timezone”
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
;配置时区
date.timezone = PRC
setp 3: apache配置文件中加入【apache安装目录/config/httpd.conf】
#php.ini所在的位置
PHPIniDir "D:/amp/php"
step 4: 重启apache, 使用ph脚本文件测试时间显示
模块配置
打开php配置文件php.ini , 搜索extension_dir 指定配置模块目录 【模块默认在php目录下的ext目录下】
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"
extension_dir = "D:/amp/php/ext"
在php.ini中搜索 extension=, 开启mysql, pdo模块
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
站点配置
单站点配置
在apache的配置文件httpd.conf中进行配置 【apache安装目录/config/httpd.conf】
端口监听 默认是80端口 : Listen
Listen 80
站点名: ServerName
ServerName www.demo.io
站点路径:DocumentRoot 目录自定义位置
DocumentRoot "D:/amp/www/"
<Directory "D:/amp/www/">
#当一个请求中没有给定请求的文件名有没有默认网页(首页)的时候,显示文件列表
Options indexes FollowSymLinks
#允许分布式权限配置 既站点中编写 .htaccess文件
AllowOverride All
Require all granted
#设置该文件夹下的“默认网页”(首页)
DirectoryIndex index.php index.html
</Directory>
重启apache, 在站点【D:/amp/www/】目录中的文件可以同过浏览器:www.demo.io 进行访问
多站点配置
在apache配置文件httpd.conf中 开启多站点配置
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
在httpd-vhosts.conf文件中配置虚拟站点 【apache目录/conf/extra/目录下】
#配置第一个站点
<VirtualHost *:80>
#配置站点管理员的邮箱,500错误时,会在页面上提示错误信息,并列出管理员邮箱
ServerAdmin abcx@163.com
#站点根目录
DocumentRoot "D:/www"
#站点绑定的域名
ServerName www.test.com
#站点别名(一般是不带www的域名)
ServerAlias test.com
#错误日志的存储位置,logs目录在Apache目录下
ErrorLog "logs/test-error.log"
#正常访问日志的存储位置,logs目录在Apache目录下,common指日志的记录规则名称
Customlog "logs/test-access.log" common
#针对目录的详细配置
<Directory "D:/www">
#允许所有访问
#allow from all
Require all granted
#允许分布式权限配置(允许重写)(.htacess)
AllowOverride All
#表示允许显示站点目录的文件结构(不想显示则可以设置为-)
Options +indexes
</Directory>
</VirtualHost>
host文件中设置域名解析 【C:\Windows\System32\drivers\etc\hosts】 加入
127.0.0.0 www.test.com test.com
重启apache, 浏览器访问www.test.com
虚拟目录设置
如 www.test.io/demo 站点目录中存在demo目录, 可以访问
www.test.io/Test 站点目录中不存在Test目录, 不可访问。为实现该种方式的访问
方法: 在站点目录中,目录配置前加入: Alias /Test "D:/www/web"
<VirtualHost *:80>
ServerName localhost
DocumentRoot "D:/www/web"
#虚拟目设置
alias /ww "D:/www/web"
<Directory "D:/www/web">
Options indexes FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
小结:
1. 实现访问php脚本文件,包含连接数据库访问
2. 建立站点 www.test.com
16.00
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
PHP基础1--环境搭建的更多相关文章
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- Python基础1-Python环境搭建
Python环境搭建首先通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本: 若未安装则需要下载安装,下面为linux和windo ...
- 大数据基础-2-Hadoop-1环境搭建测试
Hadoop环境搭建测试 1 安装软件 1.1 规划目录 /opt [root@host2 ~]# cd /opt [root@host2 opt]# mkdir java [root@host2 o ...
- 【1】循序渐进学 Zabbix :初识与基础依赖环境搭建( LNMP )
写在前面的话 运维监控是一个很大的话题,在这一块个人接触的比较突出的服务主要有 Nagio 和 Zabbix 两款.而这几年跳过的公司中,Zabbix 一直都是首选且唯一选择,Nagios 没遇到. ...
- openstack(liberty):部署实验平台(一,基础网络环境搭建)
openstack项目的研究,到今天,算是要进入真实环境了,要部署实验平台了.不再用devstack了.也就是说,要独立controller,compute,storage和network了.要做这个 ...
- 精品教程--IOS零基础开发环境搭建
下载源码 技术要点: 1. 启动XCODE开始开发 2. IOS项目文件结构分析 3. 添加视图label组件 4. 程序的入口以及启动流程 5. 源码详细的中文注释 ...... 详细介绍: 1. ...
- 1. ReactJS基础(开发环境搭建)
本文主要介绍通过React官方提供的create-react-app脚手架进行开发环境的搭建. 1.安装node环境(安装过程这里不做介绍,可参考其他博文) 在cmd中输入node -v 如果可以看到 ...
- Java基础知识➣环境搭建与类型整理(一)
概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以 ...
- Angular2.0 基础: 环境搭建
最近在学习Angular2的使用,其实看过Angular2 文档的都知道,相比于之前的Angular1,Angular2 的改动还是挺大的. 而对于‘angular2 的本地开发环境的搭建的中,我们首 ...
- 从零到一创建ionic移动app:基础开发环境搭建
myAPP项目是在Ubuntu14.04下创建 本项目开发node 4.5/cordova 6/ionic 2 第一步 安装nodejs npm install -g n n v4.5.0 使 ...
随机推荐
- mysql 更新sql报错:You can't specify target table 'wms_cabinet_form' for update in FROM clause
数据库里面有两个字段的位置不对,要把他们对调换下.因为没有数据库写的权限,需要用sql语句来实现.原来以为简单的 update table a set a.字段a=(select b字段 from t ...
- 深入理解mysql的底层实现
MySQL 的常用引擎 1. InnoDB InnoDB 的存储文件有两个,后缀名分别是 .frm 和 .idb,其中 .frm 是表的定义文件,而 idb 是数据文件. InnoDB 中存在表锁和行 ...
- java面试题之----jdbc中使用的设计模式(桥接模式)
1.JDBC(JavaDatabase Connectivity) JDBC是以统一方式访问数据库的API. 它提供了独立于平台的数据库访问,也就是说,有了JDBC API,我们就不必为访问Oracl ...
- ES6/ES2015常用知识点和概念
越来越多的开源库开始使用ES2015来构建代码了,大家知道ES6=ES2015,ES6在2015年被ECMAScript标准化组织approve,各大浏览器厂商要完全支持ES6的强大功能还须一些时日, ...
- C#接收WebSphere MQ中文乱码问题
最近在用IBM的WebSphere MQ做数据传输,客户端操作系统Windows,服务器是AIX,我们用的都是UTF-8编码,但是联调时发现带中文的都出现了乱码.折腾了好久才发现问题,原来是CCSID ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- 【Leetcode】【Medium】Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- iOS文件处理类
iOS文件处理类 这是一个用来简化iOS中关于文件操作的一个类,所有方法都为类方法. Source File.h // // File.h // FileManager // // http://ho ...
- Python学习---递归函数的学习
定义:在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 ...
- npm install 安装项目依赖,报错ERR! Unexpected end of JSON input while parsing near的方法汇总
问题描述: npm install 安装项目依赖的时候,有时会出现: ERR! Unexpected end of JSON input while parsing near 错误 原因: npm 的 ...