程式員 - 說一下在win和linux下開發PHP的區別、感受、內心想法。望點評

來源:互聯網
上載者:User
我以前一直都是在win下面寫php代碼的,但是很多次看到招聘資訊招聘PHP程式員的時候都說到能在linux開發PHP,然後後來我自己也硬著頭皮轉到linux(centos)下開發PHP。說一下深刻的體會、感受,希望大家能夠評價一下。

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的;第二是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似乎很要求協同,且美工方面參與的比較少或者來說可能沒有不存在美工設計人員的參與,因為軟體方面對介面沒有什麼要求,要求的是運行和商務邏輯。但是做網站,大部分都是做文章內容方面,CMS足以滿足,然後靜態化產生,程式方面的要求是次要的,美工方面的參與非常多,這樣的話,根本就不能像C++ JAVA那些語言那樣獨立出來開發,必須更美工很強烈的配合(因為大部分公司美工不懂HTML CSS JS)。而且做網站php程式員,其實你還是要用到PS、DW切圖這些軟體,而這些軟體linux根本就不支援。所以我一直非常糾結這個問題,一方面實際需要中PHP根本就不像C++ JAVA那些程式那樣有什麼團隊之類的,大部分公司都是最多隻有一個PHP程式員。另外一方面很多地方又說PHP必須在linux下開發,可我自己實際幾次轉到linux下開發PHP覺得真的很麻煩,不方便,不靈活。

寫了這些希望能夠得到大家的點評、看法、見解。

2015-8-12 補充:

再次回到這個問題,其實現在更傾向於使用 *nix下做開發,而並非 win下做開發。

這個問題已被關閉,原因:

回複內容:

我以前一直都是在win下面寫php代碼的,但是很多次看到招聘資訊招聘PHP程式員的時候都說到能在linux開發PHP,然後後來我自己也硬著頭皮轉到linux(centos)下開發PHP。說一下深刻的體會、感受,希望大家能夠評價一下。

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的;第二是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似乎很要求協同,且美工方面參與的比較少或者來說可能沒有不存在美工設計人員的參與,因為軟體方面對介面沒有什麼要求,要求的是運行和商務邏輯。但是做網站,大部分都是做文章內容方面,CMS足以滿足,然後靜態化產生,程式方面的要求是次要的,美工方面的參與非常多,這樣的話,根本就不能像C++ JAVA那些語言那樣獨立出來開發,必須更美工很強烈的配合(因為大部分公司美工不懂HTML CSS JS)。而且做網站php程式員,其實你還是要用到PS、DW切圖這些軟體,而這些軟體linux根本就不支援。所以我一直非常糾結這個問題,一方面實際需要中PHP根本就不像C++ JAVA那些程式那樣有什麼團隊之類的,大部分公司都是最多隻有一個PHP程式員。另外一方面很多地方又說PHP必須在linux下開發,可我自己實際幾次轉到linux下開發PHP覺得真的很麻煩,不方便,不靈活。

寫了這些希望能夠得到大家的點評、看法、見解。

2015-8-12 補充:

再次回到這個問題,其實現在更傾向於使用 *nix下做開發,而並非 win下做開發。

首先要分清楚“開發時用的作業系統”和“開發環境的作業系統”的區別。前者是你運行IDE,編輯器,查郵件,和團隊溝通時使用的作業系統,而後者是你開發過程中運行代碼用的作業系統,我的觀點是後者一定不能是windows,而前者隨意。 兩者可以是同一個linux,可以是一台windows或mac,另一台裡面的linux虛擬機器,也可以是兩台物理機器都ok,放棄使用windows作為開發環境是很對的,但這不意味著你就必須得用linux案頭。

另外關於編譯的吐槽,如果你開發的系統對php的版本、模組並不特別挑剔的話,幾乎所有發行版都有編譯好的php二進位包。當然,學會自己編譯更好,所謂的“Linux基本功”其實不外乎檔案/文本操作和源碼編譯/安裝兩大塊。比起微軟的那套東西,linux下可能你上手裝第一台機器要半天,但熟練以後裝100台機器也就只要半天。windows你上手可能只要一小時,但裝100台機器一周都不一定能搞定,還要給微軟繳100份授權,呵呵

我的開發環境!
1. 沒有QQ可以讓我每天集中注意力的時間更長。
2. linux 下操作會明白更多win下從來沒有關注過得原理性的東西
3. 工作區快速鍵自由切換 利用好了極大提升效率。
4. 更加自由的外觀制定。
........

坑:
和UI設計師配合可以用郵件 不過為了更好跟蹤任務可以用 teambition 或 tower 圖片直接托進去。
linux IE網頁相容測試,這個是個坑,公司給我提供了一台測試機,也可以用虛擬機器。
實在需要QQ 只能web QQ簡單交流一下。

慢慢習慣一下,真的習慣了效率很高的, 一口氣寫上千行代碼 不費勁。

  • 1) 有種東西叫做XAMPP..另外有一種東西叫做LAMP一鍵安裝包...我覺得你可能需要這個,以及我真沒覺得在Linux下配環境有你說的那麼麻煩(當然比Win下的套件麻煩是真的,畢竟是套件啊喂喂!)
  • 2) 這條有幾個問題:

    • 不是說不支援Windows了,是說不支援Windows XP了。具體請自行搜尋。
    • 給兩個連結你的話就不攻自破了:Win下如何安裝composer 以及 官方Win安裝教程。另外composer最關鍵的不是系統問題而是網路問題好麼!!!!
  • 3) 開發人員在必要情況下通過郵件溝通我覺得是一種基本素養。
  • 4) 兩個選擇:

    1. 出門左拐找GIMP
    2. 出門右拐找Mac

總結來說就是你能在Linux下開發PHP當然是亮點,證明你對Linux有一定的操作能力。但是你在Windows下開發也沒人會說你什麼好麼,我也沒見哪家招聘上寫著“5年Linux下PHP開發經驗”的。

咳咳,看樓上都說什麼多,我來個精簡版的。
1. linux下也有大名鼎鼎的lnmp一鍵環境(lnmp.org)
2. 你說的工具也都有windows版本
3. linux有神器GIMP
4. 大公司PHP不管前端

這個跟vim的學習曲線很像,linux講究高效,雖然不一定方便(只是在少數情況下),當樓主碰到線上一個由於作業系統引發的bug被搞得焦頭爛額的時候,就會發現這絕對是值得的

其實我覺得企業寫要求在linux下開發,並不一定是要求你工作的時候在linux下進行,而是能有linux伺服器的布置和排錯能力。

你要是想成文一個合格的PHP程式員,你就必須熟悉 LANMP|LNMP

LAMP|LNMP下的PHP開發,才是你入門PHP的開始

首先,在 Windows || Linux || Mac 下開發都可以,只要你順手,與你的團隊溝通方便。

其次,大部分情況下你的 PHP 程式要在 Linux 環境下跑,所以你如果不是在 Linux 下進行開發,就要具備上線前測試用的 Linux 環境。

第三,如果 PHP 程式員總是要和美工打交道的話,開發模式、協同模式是有待於改進的,至少 M 和 V 沒有分開嘛。

最後,感覺你對 Linux 的使用的瞭解還處在入門階段,熟悉了以後沒你說的那麼多麻煩。

只能說你用使用斧頭的方法去使用電鋸了。當然這種情況下面電鋸是比不上斧頭來得有效率的。要想使用電鋸能體驗上電鋸的效率,還是得按照電鋸的使用方法來使用。

編程來說,特別是開源,linux絕對有優勢的。
可以用virtualbox虛擬機器來運行linux,不就可以兩個一起用嗎?

我來說點題外話,我大概在4年前,開始使用ubuntu,在2年前,開始使用mac,
非常重要的一點,就是專心

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.