入职一个多月,重新调整了一下自己电脑的开发环境,现在写出来,算是作为自己的笔记。

如果你是该文章的读者,请忍受文章内的所有小章节都没有具体的步骤。

因为平时还要打游戏(划掉),所以电脑系统一直是Windows。其实Windows在开发上并没有特别多的限制,只是遇到了为Linux设计的软件的时候会有点麻烦。

实际生产过程中,开发在Windows下,部署在*nix下即可。

PHP集成开发环境的安装

Windows下环境的安装没有Linux下那么方便,直接打一行命令就好了。但是也有提供一键安装方案,就是LAMP的集成开发环境。
我个人使用的是XAMPP,而不是流行的WAMP,主要原因是……我感觉XAMPP的界面好看一点。
 
XAMPP:http://www.xampps.com/ (非官方,这是一个可切换PHP版本的XAMPP版本)
 
下载之后一路傻点Next就好了。
 
安装完成之后点Start开启Apache服务器,就可以通过浏览器访问localhost或者127.0.0.1运行服务器根目录(C:\XAMPP\htdocs)的PHP脚本了。

PHP环境变量的配置

之前我开发的时候一直是写好PHP脚本,打开Apache服务器,打开浏览器,输入PHP脚本所在的位置,运行。但是这样的步骤实在是太浪费时间了。
其实把PHP写到环境变量里是一个很好的习惯,这样可以直接在命令行里运行脚本,对于其他的语言来说也是一样。不过部分老电脑可能会因为系统环境变量太多而导致开机太慢的情况,针对这种情况,我只能说……赶紧上SSD吧!
 
以XAMP为例,XAMPP的PHP安装目录为C:\xampp\php,其实就是php.exe所在的目录。将这个目录写入环境变量的Path变量下,打开cmd,输入如下命令
  1.  php -v
如果cmd显示了php的版本,则表示环境变量设置成功。
环境变量的设置是为了在开发工具内使用编译功能,这个放到后面说。

开发工具的选择

PHP就是一个脚本语言,目前来说我开发的时候有文本编辑器就足够了。
 
编辑器强烈推荐Sublime Text:http://www.sublimetext.com/ 
目前的稳定版本还是Sublime Text 2。我还在用稳定版的,尽管很多人已经在用Sublime Text 3,不过目前来说ST2已经能够满足我的绝大部分需求了。
另外,Sublime Text是“免费”的。官方售价是70美刀,能够在全平台下使用,但是如果你不购买的话也可以一直使用下去,就是偶尔会有弹窗提示你购买。
网上有很多破解Sublime Text的方法,也有很多淘宝卖家在卖几块钱一个的注册码。但是这样的方法我个人不推荐,你嫌贵可以不买,但是不要尝试着用非法的手段使用,等到自己的经济能力达到了,再购买一份官方的注册码也不迟。作为程序员还是要有自觉使用正版软件的意识。
 
同样下载了之后一路傻点Next就好了。

Sublime Text 的设置

尽管Sublime Text本身已经有了非常优秀的代码提示和代码高亮功能,但是通过一些简单的配置可以让其在PHP开发上更加得心应手。
 
首先配置一下PHP的编译命令。
之前已经配置过PHP的环境变量了,因此只要在Sublime Text里新建一个Build System即可。具体操作步骤为,Tools->Build System->New Build System,在文件内输入
  1.  {
    "cmd":["php","$file"],
    "file_regex":"php$",
    "selector":"source.php"
    }
重启Sublime Text后就可以直接按Ctrl+B运行PHP文件了。
 
个人推荐将Tab键替换为四个空格,只要在Preferences->Settings - User里添加如下代码即可。
注意配置文件是JSON格式的,如果格式出错,那么Sublime Text的运行会出现错误。
  1.  "tab_size":4,
    "translate_tabs_to_spaces":true,
接下来,安装Sublime Text强大的拓展管理:Package Control
按Ctrl+~打开Sublime Text的控制台,输入如下代码,回车,等待一会就安装成功了。
  1. import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp )ifnot os.path.exists(ipp)elseNone; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler())); open( os.path.join( ipp, pf),'wb').write( urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
按Ctrl+Shift+P打开Sublime Text的命令窗口,输入Install Package,回车,即可获取所有拓展的列表,输入拓展名即可快速匹配到拓展。
 
下面是几个常用的拓展。
Emmet:一个帮助填写html代码的插件
SublimeCodeIntel:一个代码提示插件,支持提示PHP代码,并且支持代码跳转功能
Git:可以在Sublime Text下直接使用Git命令
 
在安装SublimeCodeIntel之后可能软件会有如下报错提示:
  1. A plugin (SublimeCodeIntel) may be making SublimeText unresponsive by taking too long (.313000s)in its on_activated callback.
    This message can be disabled via the detect_slow_plugins setting.
直接在用户设置文件直接添加如下配置即可
  1. "detect_slow_plugins":false
 
至此,主要的开发环境已经配置完毕,可以在本地进行基于WAMP的开发了。
 

个人PHP开发环境的选择与搭建的更多相关文章

  1. JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建

    Java介绍及其平台.开发环境的配置与搭建 1.Java的介绍 Java是一种面向对象的编程语言,具有跨平台.可移植.分布式.简单.可扩展等诸多特性.Java能够进行桌面应用.Web应用.分布式系统及 ...

  2. STM32F0308开发环境的选择--CooCox CoIDE篇

    STM32的开发环境有很多总,官方手册也提供了IAR Embedded Workbench.MDK-ARM和TrueSTUDIO这3种.今天我试用了CooCox CoIDE,是免费的集成开发环境,同T ...

  3. Angular01 利用grunt搭建自动web前端开发环境、利用angular-cli搭建web前端项目

    搭建angular开发环境 一.下载并安装node 官网地址:点击前往 二.利用npm安装cnpm 安装好node后就可以使用npm命令啦 查看版本:npm -v 安装cnpm:npm install ...

  4. 在ubuntu上搭建开发环境4---ubuntu简单的搭建LAMP环境和配置

    最近重新安装了Ubuntu,但是之前的LAMP环境自然也就没有了,实在是不想再去编译搭建LAMP环境(这种方法实在是太费时间,而且太容易遇到各种不知道为什么的错误),所以,就去查查有没有什么简单的搭建 ...

  5. JAVA 基础--开发环境Sublime Text 3 搭建

    方法一  打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打 ...

  6. 在开发环境中,自己搭建一个ssl环境(小例子)

    做项目的时候自己总结的一些小例子 public class Test { public static void setSSLProperty() { Security.addProvider(new  ...

  7. erlang开发环境(IDE)搭建

    1.首先推荐:intellij idea http://www.open-open.com/news/view/44c90e 2.webstorm: http://plugins.jetbrains. ...

  8. PHP开发环境搭建

    链接: Q&A1.Mac下的PHP环境搭建 Mac 下如何搭建 PHP 开发环境? [PHP] Mac下homebrew安装及php.mysql.nginx环境安装及配置个人PHP开发环境的选 ...

  9. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

随机推荐

  1. setTimeout和setInterval

    setTimeout(methodName, interval); //间隔时间单位为毫秒,表示interval毫秒后执行方法methodName setInterval(methodName, in ...

  2. 如何让光标处于EditText的末尾

    经测试发现,如果EditText预先有内容,光标自然会在文字的末尾 . 但是如果预先内容为空,然后设置好内容,这种情况下光标自然会在文字的开头,所以这种情况下可以这样做让光标位于末尾: editTex ...

  3. 【CoreData】表之间的关联

    这次是表之间怎么进行关联,要求如下: // 建立学生与班级表之间的联系 既然是表与表之间的关联,那肯定是要先创建表: // 1.创建模型文件 (相当于一个数据库里的表) // New File ——— ...

  4. [读书笔记] CSS权威指南2: 结构和层叠

    层叠样式表中最基本的一个方面可能就是层叠——冲突的声明要通过这个层叠过程排序,并由此确定最终的文档表示.这个过程的核心是选择器及其相关声明的特殊性,以及继承机制. 特殊性 对于每个规则,用户代理会计算 ...

  5. 基于 LocalAuthentication 框架的指纹解锁

    效果 想必大家对 iPhone 的指纹解锁功能已经相当的熟悉了.来看看效果吧! Local Authentication 概述 Local Authentication 框架提供了按照指定的安全策略请 ...

  6. 我的android学习经历

    我为什么选择android? 我基本上前一年的时间都是在学习java的语法和线程之类的,没有注意java的分类,所以到现在慢慢接触到深处的时候我了解到,java的优势主要在web,而我不是特别喜欢网页 ...

  7. Java 往年试卷参考答案!!!

    仅供参考: 第一题: E C E A D D C A C A C A B A B C C D B C 第二题: True True False 11 12 13 14 No such file fou ...

  8. My97DatePicker时间控件使用

    刚刚工作中遇到一个修改时间空间的bug,顺带学习了My97DatePicker时间空间 网上查到的资料已经很详细: http://www.360doc.com/content/14/0606/11/1 ...

  9. Maven基础使用

    常用命令 mvn clean:清除maven的编译结果 mvn compile:编译 mvn package:编译.打包 mvn install:编译.打包.部署 –DskipTests:编译测试用例 ...

  10. Cross-Origin Resource Sharing协议介绍

    传统的Ajax请求只能获取在同一个域名下面的资源,但是HTML5打破了这个限制,允许Ajax发起跨域的请求.浏览器是可以发起跨域请求的,比如你可以外链一个外域的图片或者脚本.但是Javascript脚 ...