前言

今天讲一下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配置了,本文不过多讲述,附一下我的一个简单的配置:

  1. 修改nginx.conf 配置,添加在和server同级的地方(就是server后边跟了两个大括号,括起了挺多东西,你找到它的右括号,然后下一行), include conf.d/*.conf;,保存退出就好了。
  2. 在和nginx.conf同级目录下新建conf.d文件夹,进去创建一个test.cn.conf(必须以.conf结尾),内容如下。
  3. nginx配置文件需要注意的地方:
    1. 端口刚才如果没有修改就改为8888
    2. server_name是你定的一地址,最好和配置文件名一样
    3. root是你的项目地址,默认去访问一个index.php文件
    4. 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百度就完事了)

  1. vagrant box add -name 'centos-7' [box放置的位置]

    把这个镜像添加到自己本机的vagrant列表里。
  2. vagrant box list 查看刚才的box是否添加上
  3. vagrant init centos-7 会在当前文件夹下创建一个以centos-7为镜像的vagrant文件,名字叫Vagrantfile
  4. 打开Vagrantfile文件,修改这一行,config.vm.synced_folder "./share", "/share" 这样你当前目录下的share文件夹就会映射到和虚拟机中的/share目录,注意,本地的share得先创建好
  5. 等待Vagrantfile创建好之后,运行 vagrant up,根据这个文件创建一个虚拟机
  6. 创建好以后vagrant ssh连接进入虚拟机。
  7. 进入虚拟机后,先yum update把yum源更新一下,然后安装一下wget yum install wget

最后一步,一条命令安装lnmp环境或者lamp,只需修改最后的参数即可

  1. 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
  2. 根据提示选择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环境的更多相关文章

  1. 三篇文章带你极速入门php(三)之php原生实现登陆注册

    看下成果 ps:纯天然h5,绝不添加任何添加剂(css)以及化学成分(js)(<( ̄ ﹌  ̄)我就是喜欢纯天然,不接受任何反驳) 关于本文 用原生的php和html做了一个登陆注册,大概是可以窥 ...

  2. 三篇文章带你极速入门php(一)之语法

    本文适合阅读用户 有其他语言基础的童鞋 看完w3cschool语法教程来回顾一下的童鞋(传送门,想全面看一下php语法推荐这里) 毫无基础然而天资聪慧颇有慧根(不要左顾右看说的就是你,老夫这里有一本& ...

  3. 三篇文章了解 TiDB 技术内幕 —— 谈调度

    任何一个复杂的系统,用户感知到的都只是冰山一角,数据库也不例外. 前两篇文章介绍了 TiKV.TiDB 的基本概念以及一些核心功能的实现原理,这两个组件一个负责 KV 存储,一个负责 SQL 引擎,都 ...

  4. 三篇文章了解 TiDB 技术内幕 - 说存储(转)

    引言 数据库.操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石.其中数据库更靠近应用层,是很多业务的支撑.这一领域经过了几十年的发展,不断的有新的进展. 很多人用过数据库,但是很少有人实现 ...

  5. jq最新前三篇文章高亮显示

    /*---------最新前三篇文章高亮显示-------------*/ function latest(){ var color_arr=new Array( "blue", ...

  6. 两篇文章带你走入.NET Core 世界:Kestrel+Nginx+Supervisor 部署上云服务器(二)

    背景: 上一篇:两篇文章带你走入.NET Core 世界:CentOS+Kestrel+Ngnix 虚拟机先走一遍(一) 已经交待了背景,这篇就省下背景了,这是第二篇文章了,看完就木有下篇了. 直接进 ...

  7. 三篇文章了解 TiDB 技术内幕——说计算

    在这我们将关系模型简单理解为 Table 和 SQL 语句,那么问题变为如何在 KV 结构上保存 Table 以及如何在 KV 结构上运行 SQL 语句. 假设我们有这样一个表的定义: CREATE ...

  8. TIDB4 —— 三篇文章了解 TiDB 技术内幕 - 谈调度

    原文地址:https://pingcap.com/blog-cn/tidb-internal-3/ 为什么要进行调度 先回忆一下第一篇文章提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 K ...

  9. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...

随机推荐

  1. 2017/05/02 java 基础 随笔

    1.PrtSc键是截屏键   打开画图软件  ctrl+v就可以复制到 2.win7以上可以  在当前目录下shift+右键 3.junit和javaweb应用的main函数在哪里? java程序跑起 ...

  2. SpringBoot整合Jdbc

    (1).添加相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...

  3. python 历险记(四)— python 中常用的 json 操作

    目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...

  4. 【转】inotify+rsync实现实时同步

    [转]inotify+rsync实现实时同步 1.1 什么是实时同步:如何实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服 ...

  5. freeRTOS中文实用教程3--中断管理之计数信号量

    1.前言 在中断不频繁的系统中,使用二值信号量没有问题,但是中断频繁发生时,则会有中断丢失的问题. 因为中断发生时延迟任务执行,延迟任务执行的过程中,如果又来了两次中断,则只会处理第一次,第二次将会丢 ...

  6. python将图片转换为Framebuffer裸数据格式(终端显示图片)【转】

    转自:https://www.cnblogs.com/zqb-all/p/6107905.html 要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口, ...

  7. 深入分析Linux自旋锁【转】

    转自:http://blog.chinaunix.net/uid-20543672-id-3252604.html 前言: 在复习休眠的过程中,我想验证自旋锁中不可休眠,所以编写了一个在自旋锁中休眠的 ...

  8. kindle转换工具-calibre

    kindle转换工具  calibre https://calibre-ebook.com/download_windows

  9. Websphere MQ Cluster

    大纲: 1.什么是集群 2.建立一个基本的集群 3.DISPLAY命令 4.负载均衡 5.高级配置和管理 6.答疑 7.关于文章.红宝书等 一. 什么是集群       集群就是Websphere M ...

  10. keepalived实现haproxy负载均衡器的高可用

    一.keepalived简介 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于,用来防止单点故障. 二.vrrp协议2.1 vrrp协议简介 在现实的网络环境中,两台需要通信 ...