三篇文章带你极速入门php(二)之迅速搭建php环境
前言
今天讲一下php在windows,mac,linux上的集成环境搭建,目标是简单快速,环境这个事得对号入座,windows用phpstudy,mac用mamp,linux用lnmp一键安装,直接跳转对应的地方看就好了。
另:本文目标是迅速建立集成环境用来开发,如果想要分开一点点搭建,自行google百度就好了。
windows之phpstudy
windows推荐直接phpsudy,简单方便,一键式安装。
下载地址 http://phpstudy.php.cn/
下载完是一个压缩包,解压选目录安装一条龙麻溜搞完,双击打开。
刚打开mysql和apache还没有启动,点击启动。
点击phpmyadmin,可以打开本地mysql的一个管理界面,密码root
phpmyadmin进去后长这个样子,可以建个test库试试
好了,回到phpstudy,点击其他选项->MyHomePage,应该会跳到浏览器上,然后是这么个页面,那就说明环境已经没问题了。
打开网站根目录,修改index.php(下个软件),修改echo 后的字符串为hello php,保存,刷新页面,发现页面上变成了Hello PHP字样,成功。
MAC之mamp
先贴个下载地址 https://www.mamp.info/en/ ,古人云:不下载,你学它怎么用干嘛。
安装好打开界面,点击start server,这个样子就说明没问题
然后把它关了(表打我,先试试嘛,先看到这里的童鞋可以先不用打开),去右上角点开首选项Preferences,咱们修改一下配置。你说找不到?在这里↓
打开以后有6个栏目,首先修改第二个Ports,把nginx的端口改为80(如果要用apache服务器,就把apache改为80),然后第四个web server可以选择使用nginx或者apache,第三个PHP可以使用默认的php7.1,点击OK保存,再次点击mamp的start servers。
现在环境就算是有了,打开浏览器,输入 http://localhost/phpmyadmin/ 就可以进入phpmyadmin查看本机的mysql了(上一步没有改端口的同学,加上默认的8888端口 http://localhost:8888/phpmyadmin/ )。
打开本机的这个目录 /Applications/MAMP/conf/nginx ,就可以修改nginx配置了,本文不过多讲述,附一下我的一个简单的配置:
- 修改nginx.conf 配置,添加在和server同级的地方(就是server后边跟了两个大括号,括起了挺多东西,你找到它的右括号,然后下一行),
include conf.d/*.conf;
,保存退出就好了。 - 在和nginx.conf同级目录下新建conf.d文件夹,进去创建一个test.cn.conf(必须以.conf结尾),内容如下。
- nginx配置文件需要注意的地方:
- 端口刚才如果没有修改就改为8888
- server_name是你定的一地址,最好和配置文件名一样
- root是你的项目地址,默认去访问一个index.php文件
- fastcgi不是用9000端口了,用的是一个unix socket
server {
listen 80;
server_name test.cn;
root /Applications/MAMP/htdocs/test/;
charset utf-8;
location / {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ .+\.php($|/) {
index index.php;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /Applications/MAMP/logs/test.access.log;
error_log /Applications/MAMP/logs/test.error.log;
}
不好意思,改完配置文件又要重启啦ヾ(≧▽≦*)o
去你刚才设定的项目地址新建一个index.php,echo一个helloworld,在本地hosts文件中 添加一个 127.0.0.1 test.cn 就可以了,相信你可以的,我就不演示啦<( ̄ˇ ̄)/
lnmp一键安装
lnmp一键安装官网 https://lnmp.org/install.html
开发环境搭建是在windows或者mac上搭建一个virtualbox+vagrant虚拟机,然后在虚拟机里安装环境,在本地开发,自动同步到共享文件夹里,在虚拟机中运行。本质上是使用linux环境。linux的童鞋可以直接lnmp安装。
用vagrant的好处是可以打包带走,团队协作或者换个机器都可以把环境打包好,一处打包到处使用。(本文不赘述,自行google百度就完事了)
- virtualbox下载地址 https://www.virtualbox.org/wiki/Downloads ,选中mac或者windows版即可,下载完后安装上就好。
- vagrant下载地址 https://www.vagrantup.com/downloads.html 也是选择对应系统然后下载安装就好
- 安装centos7的box,从官网下太慢,这里贴一个别人上传的百度云链接 https://pan.baidu.com/s/1DIis9g8JoyXMJvkkWkiL8A ,创建一个专门的文件夹,下载下来放到这个文件夹里,进入这个文件夹,然后开始执行命令
vagrant box add -name 'centos-7' [box放置的位置]
把这个镜像添加到自己本机的vagrant列表里。vagrant box list
查看刚才的box是否添加上vagrant init centos-7
会在当前文件夹下创建一个以centos-7为镜像的vagrant文件,名字叫Vagrantfile- 打开Vagrantfile文件,修改这一行,
config.vm.synced_folder "./share", "/share"
这样你当前目录下的share文件夹就会映射到和虚拟机中的/share目录,注意,本地的share得先创建好 - 等待Vagrantfile创建好之后,运行
vagrant up
,根据这个文件创建一个虚拟机 - 创建好以后
vagrant ssh
连接进入虚拟机。 - 进入虚拟机后,先
yum update
把yum源更新一下,然后安装一下wgetyum install wget
。
最后一步,一条命令安装lnmp环境或者lamp,只需修改最后的参数即可
- wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
- 根据提示选择php,mysql,nginx的版本,可以直接全程回车,用默认项就好。具体问题参照lnmp官网,讲的远比我详细,其中,nginx和php的安装环境都在 /usr/local 下
最后,附vagrant常用命令:
vagrant box add [box文件] 添加一个box
vagrant box list 查看本机已经添加的box列表
vagrant init [boxname] 初始化一个vagrant文件
vagrant up 启动vagrant
vagrant reload 重载
vagrant halt 终止当前目录下的vagrant虚拟机
vagrant ssh 连接当前虚拟机
三篇文章带你极速入门php(二)之迅速搭建php环境的更多相关文章
- 三篇文章带你极速入门php(三)之php原生实现登陆注册
看下成果 ps:纯天然h5,绝不添加任何添加剂(css)以及化学成分(js)(<( ̄ ﹌  ̄)我就是喜欢纯天然,不接受任何反驳) 关于本文 用原生的php和html做了一个登陆注册,大概是可以窥 ...
- 三篇文章带你极速入门php(一)之语法
本文适合阅读用户 有其他语言基础的童鞋 看完w3cschool语法教程来回顾一下的童鞋(传送门,想全面看一下php语法推荐这里) 毫无基础然而天资聪慧颇有慧根(不要左顾右看说的就是你,老夫这里有一本& ...
- 三篇文章了解 TiDB 技术内幕 —— 谈调度
任何一个复杂的系统,用户感知到的都只是冰山一角,数据库也不例外. 前两篇文章介绍了 TiKV.TiDB 的基本概念以及一些核心功能的实现原理,这两个组件一个负责 KV 存储,一个负责 SQL 引擎,都 ...
- 三篇文章了解 TiDB 技术内幕 - 说存储(转)
引言 数据库.操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石.其中数据库更靠近应用层,是很多业务的支撑.这一领域经过了几十年的发展,不断的有新的进展. 很多人用过数据库,但是很少有人实现 ...
- jq最新前三篇文章高亮显示
/*---------最新前三篇文章高亮显示-------------*/ function latest(){ var color_arr=new Array( "blue", ...
- 两篇文章带你走入.NET Core 世界:Kestrel+Nginx+Supervisor 部署上云服务器(二)
背景: 上一篇:两篇文章带你走入.NET Core 世界:CentOS+Kestrel+Ngnix 虚拟机先走一遍(一) 已经交待了背景,这篇就省下背景了,这是第二篇文章了,看完就木有下篇了. 直接进 ...
- 三篇文章了解 TiDB 技术内幕——说计算
在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变为如何在 KV 结构上保存 Table 以及如何在 KV 结构上运行 SQL 语句. 假设我们有这样一个表的定义: CREATE ...
- TIDB4 —— 三篇文章了解 TiDB 技术内幕 - 谈调度
原文地址:https://pingcap.com/blog-cn/tidb-internal-3/ 为什么要进行调度 先回忆一下第一篇文章提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 K ...
- 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境
原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...
随机推荐
- 2017/05/02 java 基础 随笔
1.PrtSc键是截屏键 打开画图软件 ctrl+v就可以复制到 2.win7以上可以 在当前目录下shift+右键 3.junit和javaweb应用的main函数在哪里? java程序跑起 ...
- SpringBoot整合Jdbc
(1).添加相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...
- python 历险记(四)— python 中常用的 json 操作
目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...
- 【转】inotify+rsync实现实时同步
[转]inotify+rsync实现实时同步 1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服 ...
- freeRTOS中文实用教程3--中断管理之计数信号量
1.前言 在中断不频繁的系统中,使用二值信号量没有问题,但是中断频繁发生时,则会有中断丢失的问题. 因为中断发生时延迟任务执行,延迟任务执行的过程中,如果又来了两次中断,则只会处理第一次,第二次将会丢 ...
- python将图片转换为Framebuffer裸数据格式(终端显示图片)【转】
转自:https://www.cnblogs.com/zqb-all/p/6107905.html 要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口, ...
- 深入分析Linux自旋锁【转】
转自:http://blog.chinaunix.net/uid-20543672-id-3252604.html 前言: 在复习休眠的过程中,我想验证自旋锁中不可休眠,所以编写了一个在自旋锁中休眠的 ...
- kindle转换工具-calibre
kindle转换工具 calibre https://calibre-ebook.com/download_windows
- Websphere MQ Cluster
大纲: 1.什么是集群 2.建立一个基本的集群 3.DISPLAY命令 4.负载均衡 5.高级配置和管理 6.答疑 7.关于文章.红宝书等 一. 什么是集群 集群就是Websphere M ...
- keepalived实现haproxy负载均衡器的高可用
一.keepalived简介 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于,用来防止单点故障. 二.vrrp协议2.1 vrrp协议简介 在现实的网络环境中,两台需要通信 ...