使用mac下的sublime等编辑器帮助代码编写,然后到linux下运行网页代码。可以通过/vagrant共享目录完成,但是默认apache默认目录为/var/www/html,不想改变该目录,同时为了方便“云管理”,使用git和github统一管理代码。

1. 在github建立新仓库:learn_www,并且添加vagrant下的公钥,公钥使用ssh-keygen产生,并使用git --global user.email "e-mail”以及 git —global user.name “name" 配置git,mac上也做类似配置,这个之前就配置好了。

2. 将github上的仓库拷贝到本地: git clone git@github.com:lozybean/learn_www.git

3. 此时,查看远程仓库git remote,显示origin,正常;

git checkout -b dev,建立dev分支,并切换到该分支;

4. 添加myFirst.php(《细说PHP》书上代码):

 <html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>my firsy php</title>
</head>
<body>
<?php
$sysos = $_SERVER["SERVER_SOFTWARE"];
$sysversion = PHP_VERSION; //链接并且显示数据库版本
mysql_connect("localhost","root","root");
$mysqlinfo = mysql_get_server_info(); //获取GD库信息
if(function_exists("gd_info")){
$gd = gd_info();
$gdinfo = $gd["GD Version"];
}else{
$gdinfo = "未知";
}
$freetype = $gd["FreeType Support"] ? "支持" : "不支持";
$allowurl = ini_get("allow_url_fopen") ? "支持" : "不支持";
$max_opload = ini_get("file_uploads") ? ini_get("upload_max_filesize") : "Disabled";
$max_ex_time = ini_get("file_uploads")."秒";
date_default_timezone_set("Etc/GMT-8");
$systemtime = date("Y-m-d H:i:s",time());
echo "<table align=center cellspacing=0 cellpadding=0>";
echo "<caption><h2> 系统信息 </h2></caption>";
echo "<tr><td>服务器版本</td><td>$sysos</td> </tr>";
echo "<tr><td>PHP版本</td><td>$sysversion</td> </tr>";
echo "<tr><td>MySQL版本</td><td>$mysqlinfo</td></tr>";
echo "<tr><td>GD库版本</td><td>$gdinfo</td> </tr>";
echo "<tr><td>FreeType</td><td>$freetype</td></tr>";
echo "<tr><td>远程文件获取</td><td>$allowurl</td></tr>";
echo "<tr><td>最大上传限制</td><td>$max_upload</td></tr>";
echo "<tr><td>最大执行时间</td><td>$max_ex_time</td></tr>";
echo "<tr><td>服务器时间</td><td>$systemtime</td></tr>";
echo "</table>";
?>
</body>
</html>

5. git add myFirst.php,添加代码到缓冲区

git commit -m ‘first php’ ,制作版本

git push —set-upstream origin dev ,连接远程分支,并且推送dev分支

git branch -u origin/dev dev,设置关联,之后可以使用git pull同步

git push origin dev, 单纯向远程仓库推送dev分支

6. vagrant登陆到ubuntu,并且在/var/www/html下拷贝远程仓库:git clone git@github.com:lozybean/learn_www.git

7. 访问http://192.168.33.10/learn_www/myFirst.php,显示为空,开始debug,这里有点蛋疼,php感觉和perl挺像的,最近python写的比较多,分号又忘记了,结果脚本里面有个分号写到了标签里面,php语句就少了一个分号,结果一直显示不出来,这里也发现,如果php语句有问题,就算在php之前加一些内容,比如hello什么的,也会显示不出,内心有一点纠结,感觉和解释器逐条解释不太一样,留一个心眼,以后解决。

debug后,在ubuntu上面同样进行git add、git commit、git push等操作。最后显示结果:

第一个php程序就这样有点波折地完成了。

git环境搭建以及第一个PHP程序的更多相关文章

  1. Robot Framework自动化_环境搭建以及第一个用例

    Robot Framework自动化_环境搭建以及第一个脚本 培训老师:肖能尤 2016/06/07 课程目的 一.Robot framework 环境搭建以及第一个脚本 课程内容 1    安装前准 ...

  2. Spark认识&环境搭建&运行第一个Spark程序

    摘要:Spark作为新一代大数据计算引擎,因为内存计算的特性,具有比hadoop更快的计算速度.这里总结下对Spark的认识.虚拟机Spark安装.Spark开发环境搭建及编写第一个scala程序.运 ...

  3. php环境搭建和第一个php程序

    一.开发环境搭建 因为是初学,使用的还是非常经典的组合appserv+dreamweaver cs6; 1.1   appserv安装 appserv的安装还是非常简单的,直接双击可执行程序appse ...

  4. Go语言学习之1 基本概念、环境搭建、第一个Go程序

    一.环境搭建 见我的这篇博客 https://www.cnblogs.com/xuejiale/p/10258244.html 二.golang语言特性1. 垃圾回收    1) 内存自动回收,再也不 ...

  5. React学习笔记-1-什么是react,react环境搭建以及第一个react实例

    什么是react?react的官方网站:https://facebook.github.io/react/下图这个就是就是react的标志,非常巧合的是他和我们的github的编辑器Atom非常相似. ...

  6. lua入门之环境搭建、第一个demo

    前言 前段时间因为有些项目功能需要,自己研究了下lua,今天整理下,并以一个demo为示例演示 手机上的运行效果 分为几个步骤来逐步讲解. 1.lua介绍,为什么选择它? 2.环境安装 3.撸一个简单 ...

  7. Cesium入门2 - Cesium环境搭建及第一个示例程序

    Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验 ...

  8. Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  9. Conda安装及第一个py程序

    Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...

随机推荐

  1. 在Linux中使用线程

    我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下.如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级. 首先说明一下,在Linux编写多线程程序需要包含头文件p ...

  2. 网页设计——5.table布局

    今天做一个大的页面,主要是对table布局的理解: 代码: <table cellspacing=0 border=1 style="bordercolor:#C0C0C0;" ...

  3. Java 代码学习之数组的初始化

    我们都很熟悉Java中的数组,它具有查询快,增删慢的特点.但是通常我们自认为很了解它的用法,却容易忽略一些小细节.今天通过一段代码来简单了解数组初始化中的一些我们容易忽略的地方. package da ...

  4. 微信小程序语音与讯飞语音识别接口(Java)

    项目需求,需要使用讯飞的语音识别接口,将微信小程序上传的录音文件识别成文字返回 而微信小程序上传的文件格式是silk的,而讯飞接口能识别wav 格式的文件,所以需要将小程序上传的silk文件转成wav ...

  5. 记录一次参加D2前端技术论坛的杭州之行

    前言 在这里,闰土首先要感谢以下两位大佬提供的门票,分别是来自新浪微博部门的H同学,以及来自小米科技的D同学. 当我周六晚上在青旅写完这篇文章过后,第二天上网发现,已经有大佬提前一步在掘金上发布了高质 ...

  6. Git 二分调试法,火速定位疑难Bug!

    你一定遇到过,一个很久没修改过的功能,莫名其妙的出现了问题?肉眼查代码.屡逻辑完全找不到问题点?前两天还好好的功能,怎么这个今天就不行了?这两天改动了这么多代码,到底是那一次改动引发的 Bug? 这样 ...

  7. 【博客目录】SqlServer篇

    SqlServer系列篇   [SqlServer系列]SQLSERVER安装教程     [SqlServer系列]数据库三大范式     [SqlServer系列]表单查询     [SqlSer ...

  8. vue路由

    vue-router 现在的应用都流行SPA应用(single page application) 传统的项目大多使用多页面结构,需要切换内容的时候我们往往会进行单个html文件的跳转,这个时候受网络 ...

  9. NIO相关基础篇三

    转载请注明原创出处,谢谢! 说在前面 上篇NIO相关基础篇二,主要介绍了文件锁.以及比较关键的Selector,本篇继续NIO相关话题内容,主要谈谈一些Linux 网络 I/O模型.零拷贝等一些内容, ...

  10. 数据库——MySQL——>Java篇

    MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是 ...