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 使 ...
随机推荐
- Session和Cookie详解(1)
面试常问的有关session和cookie的问题: 1.session在分布式环境下怎么解决 2.集群下如何保证session踩中 3.cookie的大小 4.服务器怎么识别一个用户的 5.sessi ...
- 【Leetcode】【Medium】Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. For example, ...
- linux下查看某个文件属于哪个包
1.centos/redhat下查看某个文件或命令属于哪个rpm包: $ yum provides /etc/passwd 或者 $ rpm -qf /etc/passwd 2.ubuntu及衍生版: ...
- 实战开发一个Nginx扩展 (Nginx Module)
repo地址 https://github.com/wujunze/nginx-http-echo-module nginx_module_echo 使用echo指令输出一个字符串 Nginx 版本 ...
- 浅谈js冒泡事件2
js冒泡阻止 1. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而event.target属性保存着发生事件的目标元素.这个属性是DOM API中规定的,但是没有被所有浏览器实现 . ...
- easyui学习笔记9—手风琴格子的增,删和选择
这一篇中我们将看看如何给手风琴动态的增加,删除格子,怎样选择某一个格子的. 1.先看看引用的资源 <link rel="stylesheet" href="jque ...
- ue-edit设置显示函数列表
UltraEdit的函数列表竟然不显示函数,那这功能要它何用,应该如何才能让函数显示出来呢? 公司编程基本上都在UltraEdit中进行,俺刚来公司还不熟悉,今天装了个UltraEdit,可是看着别人 ...
- Entity FrameWork Code First 配置关系
Has方法与With方法 A.HasRequired(a => a.B).WithOptional(b => b.A);上面一句配置意思就是A类包含B类一个不为null的实例,B类包含A类 ...
- No module named _sqlite3
[root@lgj01 opsadmin]# python manage.py startapp accountTraceback (most recent call last): File &qu ...
- C++、Java、Objective-C、Swift 二进制兼容测试
鉴于目前动态库在iOS App中使用越来越广泛,二进制的兼容问题可能会成为一个令人头疼的问题.本文主要对比一下C++.Java.Objecive-C和Swift的二进制兼容问题. iOS端动态库使用情 ...