每个人都应当使用 PHPBrew 来管理 PHP 的版本环境
社区刚刚从 PHP 变成 Laravel 我突然又分享一个关于 PHP 的东西是不是不太好呢,管他呢 :smiley:
本人对于 PHP 可以说是不太熟的,除了大二的时候做大作业使用过原生的 PHP ,大三的时候看过原生 PHP 开发的视频教程,大四的时候为了实习面试急急忙忙的学习使用 CI 框架 做了一个小东西(然而面试却) ,毕业后维护一个 PHP SDK 之外,并无其他的 PHP 开发经历。
大四下学期开始接触 Ruby 或者说传说中的 Ruby on Rails,之后的实习也好工作也罢,都多多少少与其有些许关系。为什么要说 Ruby on Rails 呢,因为它改变了我对开发的认识,如何安装一个第三方包? gem install xxx
或者编辑 Gemfile 文件,然后运行 bundle install
,各种第三方依赖都很好的管理着。至于 Ruby 本身的版本管理有 RVM 和 rbenv ,这一切都很好的运行着,并且影响着其他类似的编程语言,比如 Python 的 pip 和 pyenv (我不确定 python-pip 和 rubygem 到底是谁影响谁,但 pyenv 确实是 fork 自 rbenv 的)。虽然我这里说了 Ruby 的那么多的好处,但可不要一冲动就去花钱报班学习啊, Ruby-China 正在疯狂讨论那个李笑来的全栈营的事,有兴趣可以去凑个热闹。
咳咳,跑题了
为什么要在这里扯其他的编程语言的东西?因为我觉得那是好东西啊,并且 PHP 里面也有!但是社区中却没有相关的讨论,甚至没有相关的字眼。
Composer
既然是 Laravel 社区 ,相信大家都在使用 composer 了,我曾经开玩笑说 PHP 不用 Composer 就是耍流氓 貌似惹得那个人不高兴了。话说回来,国内用 Think PHP 的人或者公司简直多如牛毛,而且基本都是 3.2 不原生支持 Composer 的,但是貌似可以通过配置来使用,但貌似没几个人这么用,都固执的直接下载安装,就算是下载安装,自己写个 autoload 去自动加载,却又不会写,非要官方提供,真是让人哭笑不得。使用 Composer 就是为了解决第三方包的依赖管理问题的啊,为什么都这么固执呢, 抓狂 抓狂
PHPBrew
有 rbenv 和 pyenv ,当然也存在 phpenv,他们有什么用呢,其实就是可以快速的在多个语言的版本之间来回切换,方便测试。当然,这样的事 Travis-ci 也可以做到,并且不需要做多余的事(其实还是有多余的事的需要项目根目录下有个 .travis.yml
文件,而且 travis-ci 严重依赖 Github),但怎么取舍就看个人了,不过我是两个都用的,就算我不需要使用多个 PHP 版本,使用 PHPBrew 安装 PHP 也挺方便的(PS:我使用 pyenv 和 rbenv 其实也就这个理由),因为系统所带的 PHP 的版本并不一定总是你所需要的那个,而 PHPBrew 却可以安装几乎所有的 PHP 版本。
PHPBrew VS phpenv
到底用谁呢?肯定是 PHPBrew 看标题不就知道了,而且名字里面还有大写(偷笑)。
其实我是想用 phpenv 的,毕竟我现在就用着 pyenv 和 rbenv 刚刚好一脉相承,但是,当我安装好 phpenv 的时候,这家伙却不能用,不能用啊。另外 phpbrew 比 phpenv 的 start 多了差不多 5 倍,高下立判。
怎么使用 PHPBrew
这个没有什么好说的,安装 PHPBrew 还是比较简单的,就是使用它来安装 PHP 的时候有好多的参数可选,一下子会懵圈,所以认真读他的 README 是十分必要的。
现存问题
也不是说 PHPBrew 就是完美的,我使用 PHPBrew 的时候也是有几个问题的,最简单的就是竟然不能安装 5.3 和 5.4 版本的 PHP ,不过我想应该是我的操作系统环境问题。
结语
我觉得每个人都应当使用 PHPBrew 来管理 PHP 的版本环境,一旦你使用了它,你就会被他所带来的便利性所感动,变得再也离不开这个工具(夸张的修辞哈)。欢迎大家一起来讨论 :smiley:
写的不好,欢迎吐嘈拍砖
推荐文章: