我以前一直以来都是在win下面写php代码,然后放到linux下去运行(开发环境wampp,运行环境lamp/lnmp),但是很多次看到招聘信息招聘PHP程序员的时候都说到能在linux开发PHP,然后我自己最近也硬着头皮转到linux(centos)下开发PHP。
说一下深刻的体会、感受,希望大家能够评价一下。by default7#zbphp.com
1)linux安装开发环境不方便
win下面直接用集成开发包安装非常方便 ampp环境全部都有了。而且可以直接方便的开启扩展,非常方便。
在linux下面必须手动编译,安装apr apr-util pcre apache php libxml2 mysql…… 而且安装好了php,还得配置php.ini my.cnf httpd.conf,而且修改了之后还并不会生效,很奇怪的现象。
php.ini 在/etc/php.ini里面有,但是在/usr/local/php5/lib/php.ini又有一个,而且我开启Apache虚拟目录vhosts,如果把目录放到/home/username/www下面就没有访问权限,但是放到/var/www/下面却又可以访问。
然后我安装drupal,发现又要zlib扩展,我去重新编译PHP。在PHP-5.5.13的ext目录里面有zlib 文件夹,编译的时候--with-zlib,可怎么都没有安装上去。
而且我发现我把所有的PHP的文件包括目录都删除了,重启httpd,居然还是可以打开phpinfo.php,很奇怪。
mysql的配置也不好配置,我在win7下面用wamp,直接修改my.ini就可以搬迁到任意目录,但是在linux里面还有权限方面的,很多。反正在linux下配置lamp环境真的很麻烦,最快也得一个上午,因为编译安装PHP,make test这里有将近1万多项目,make install又非常久。
再加上配置mysql 、Apache(开vhosts)还不一定能够成功,权限问题、目录分配问题。
2)对在win下开发PHP的忧虑
我之所以会一直纠结是不是该去linux开发PHP,主要的几个因素是:第一我有一两次去面试PHP程序员,但是看到对方程序员是在linux下开发PHP的,然后我说出了我自己不是在linux下开发PHP,而是在win下面开发,对方听完之后立即说我是一个非常初级的PHP程序员;第二是PHP 5.6.x版本,他们不再发行WIN下面的版本了;第三是我最近在看symfony,但是发现他们是composer安装的,而官网的提示操作都是在linux下面完成的。所以我心里想法就是是不是以后PHP不能在win下面开发了,是不是国外的PHP程序员都是在linux下开发PHP的。
3)在linux下开发网站的缺点、问题
我也仔细想过一些问题,现在这个时代,网站很讲究美观UI体验,想做个像样的网站如果仅仅有PHP程序员真的是不可能完成的,必须和美工设计人员一起配合完成。如果在linux下开发PHP网站,那么美工经常传图片素材过来,那么怎么弄?美工负责的是设计,现在国内的公司做网站美工传递东西图片都是通过QQ的,非常方便,快速。如果转到linux下开发,那会怎么样传递?先从VM的win7中QQ接收再自己从WIN7 的FTP客户端上传到linux的网站目录中,再切换到linux中去使用图片资源?
4)说到最后,我认为的PHP和其他软件程序JAVA C++的本质区别
我做PHP已经有很多年了,一直总是感觉PHP总是被其他软件程序语言,比如JAVA C++所干扰。很武断的认为PHP就应该和C++ JAVA那样,但是我总是一种感觉他们本质区别,C++ JAVA似乎很要求团队协同,招聘JAVA C++不可能像招聘PHP那样只招一个,而且美工方面参与的比较少或者来说可能没有不存在美工设计人员的参与,因为软件方面对界面没有什么要求,要求的是运行和业务逻辑。但是做网站,大部分都是做文章内容方面,CMS足以满足,然后静态化生成,程序方面的要求是次要的,美工方面的参与非常多,这样的话,根本就不能像C++ JAVA那些语言那样独立出来开发,必须更美工很强烈的配合(因为大部分公司美工不懂HTML CSS JS)。而且做网站php程序员,其实你还是要用到PS、DW切图这些软件,而这些软件linux根本就不支持。所以我一直非常纠结这个问题,一方面实际需要中PHP根本就不像C++ JAVA那些程序那样有什么团队之类的,大部分公司都是最多只有一个PHP程序员。另外一方面很多地方又说PHP必须在linux下开发,可我自己实际几次转到linux下开发PHP觉得真的很麻烦,不方便,不灵活。
写了这些希望能够得到大家的点评、看法、见解。(by default7#zbphp.com)