使用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. 微信JS-SDK选择相册或拍照并上传PHP实现

    理解:微信上传接口是拍照,或者选择本地照片,上传到微信的服务器,获取到一个id,通过token与这个id获取到图片,保存到服务器即可. 效果 通过微信js接口,调用底层程序. 需要引入js文件,并进行 ...

  2. Tp3.2 和 Tp5.0之间的区别

    5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规 ...

  3. Hibernate学习(五)Hibernate 多对多映射

    说到多对多关系,印象最深刻的就是大学的选修课.一个学生可以选修多门课程,一门课程可以有多个学生选修,学生所选的每一门课程还有成绩.这个场景的E-R图如下: 对于多对多的关系,我们通常会抽出一张中间表( ...

  4. 【POJ2823】Sliding Window

    http://poj.org/problem?id=2823 题意:你有一个长度n的序列,分别询问[1,k],[2,k+1],[3,k+2],...,[n-k+1,n]这n-k+1个区间的最大值和最小 ...

  5. webpack入门之打包html,css,js,img(一)

    webpack到底是什么,网上一大堆介绍的东西,越看越不知道说的什么,所以今天打算自己来记录一下这段时间学习webpack的成果, webpack就是打包文件用的,html,css,js,img,为什 ...

  6. Codeforces 29D Ant on the Tree 树的遍历 dfs序

    题目链接:点击打开链接 题意: 给定n个节点的树 1为根 则此时叶子节点已经确定 最后一行给出叶子节点的顺序 目标: 遍历树并输出路径.要求遍历叶子节点时依照给定叶子节点的先后顺序訪问. 思路: 给每 ...

  7. 浅析Spring事务传播行为和隔离级别

    7个传播行为.4个隔离级别. Spring事务的传播行为和隔离级别[transaction behaviorand isolatedlevel] Spring中事务的定义: Propagation(k ...

  8. Linux 高速操作IOport

    在嵌入式设备中对GPIO的操作是最主要的操作. 一般的做法是写一个单独驱动程序,网上大多数的样例都是这种.事实上linux以下有一个通用的GPIO操作接口.那就是我要介绍的 "/sys/cl ...

  9. Fiddler使用总结一(使用Fiddler捕获手机所有http/https通信)

    与后端数据通信是前端日常开发的重要一环,在与后端接口联调的时候往往需要通过查看后端返回的数据进行调试.如果在PC端,Chrome自带的DevTools就已经足够用了,Network面板可以记录所有网络 ...

  10. XSS注入,js脚本注入后台

    曾经一度流行sql注入,由于现在技术的更新,已经看不到这问题了,但是又出来新的安全问题,XSS攻击,他的原理就是在前端提交表单的时候,在input标签当中输入js脚本,通过js脚本注入后台,请看下图. ...