使用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 [email protected]:lozybean/learn_www.git
3. 此时,查看远程仓库git remote,显示origin,正常;
git checkout -b dev,建立dev分支,并切换到该分支;
4. 添加myFirst.php(《细说PHP》书上代码):
1 <html> 2 <head> 3 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 4 <title>my firsy php</title> 5 </head> 6 <body> 7 <?php 8 $sysos = $_SERVER["SERVER_SOFTWARE"]; 9 $sysversion = PHP_VERSION; 10 11 //链接并且显示数据库版本 12 mysql_connect("localhost","root","root"); 13 $mysqlinfo = mysql_get_server_info(); 14 15 //获取GD库信息 16 if(function_exists("gd_info")){ 17 $gd = gd_info(); 18 $gdinfo = $gd["GD Version"]; 19 }else{ 20 $gdinfo = "未知"; 21 } 22 $freetype = $gd["FreeType Support"] ? "支持" : "不支持"; 23 $allowurl = ini_get("allow_url_fopen") ? "支持" : "不支持"; 24 $max_opload = ini_get("file_uploads") ? ini_get("upload_max_filesize") : "Disabled"; 25 $max_ex_time = ini_get("file_uploads")."秒"; 26 date_default_timezone_set("Etc/GMT-8"); 27 $systemtime = date("Y-m-d H:i:s",time()); 28 echo "<table align=center cellspacing=0 cellpadding=0>"; 29 echo "<caption><h2> 系统信息 </h2></caption>"; 30 echo "<tr><td>服务器版本</td><td>$sysos</td> </tr>"; 31 echo "<tr><td>PHP版本</td><td>$sysversion</td> </tr>"; 32 echo "<tr><td>MySQL版本</td><td>$mysqlinfo</td></tr>"; 33 echo "<tr><td>GD库版本</td><td>$gdinfo</td> </tr>"; 34 echo "<tr><td>FreeType</td><td>$freetype</td></tr>"; 35 echo "<tr><td>远程文件获取</td><td>$allowurl</td></tr>"; 36 echo "<tr><td>最大上传限制</td><td>$max_upload</td></tr>"; 37 echo "<tr><td>最大执行时间</td><td>$max_ex_time</td></tr>"; 38 echo "<tr><td>服务器时间</td><td>$systemtime</td></tr>"; 39 echo "</table>"; 40 ?> 41 </body> 42 </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 [email protected]: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程序就这样有点波折地完成了。