在Linux平臺下使用PHP開發(fā)網(wǎng)站
Jun 06, 2016 pm 08:35 PM
本人php程序員,工作經(jīng)驗(yàn)即將滿一年,現(xiàn)在有跳槽的想法,在拉勾上看了很多中大型公司對php程序員的要求都會提到一點(diǎn)“在Linux平臺下使用PHP開發(fā)網(wǎng)站”。
本人對這句話不是特別理解,怎樣才算在Linux平臺下使用PHP開發(fā)網(wǎng)站?
在win下開發(fā),然后linux下運(yùn)行?
在linux下開發(fā),之后在linux下運(yùn)行?
linux下怎樣開發(fā)呢?本人對于linux,目前只是知道一些簡單指令操作。
希望在這里能有大神、有經(jīng)驗(yàn)者、大牛為本人解答一下。
無以為報,只能先說感謝——————一個努力的phper!
回復(fù)內(nèi)容:
本人php程序員,工作經(jīng)驗(yàn)即將滿一年,現(xiàn)在有跳槽的想法,在拉勾上看了很多中大型公司對php程序員的要求都會提到一點(diǎn)“在Linux平臺下使用PHP開發(fā)網(wǎng)站”。
本人對這句話不是特別理解,怎樣才算在Linux平臺下使用PHP開發(fā)網(wǎng)站?
在win下開發(fā),然后linux下運(yùn)行?
在linux下開發(fā),之后在linux下運(yùn)行?
linux下怎樣開發(fā)呢?本人對于linux,目前只是知道一些簡單指令操作。
希望在這里能有大神、有經(jīng)驗(yàn)者、大牛為本人解答一下。
無以為報,只能先說感謝——————一個努力的phper!
這句話具體什么含義確實(shí)很難搞清楚,這些職位要求都是大家互相抄,很多 HR 對技術(shù)一知半解,照樣寫職位要求。
不管怎么說,只要你熟練使用 Linux,又有何懼呢?
另外:關(guān)于 Linux,我認(rèn)為開發(fā)者不是運(yùn)維,重點(diǎn)在開發(fā),所以在成為大牛前 Linux 要多牛逼也不是必須的,因?yàn)楦嗟腜HPer 寫的是業(yè)務(wù),不是內(nèi)核。當(dāng)然,這并不是你不搞 Linux 的借口。Linux 的基礎(chǔ)知識 、常用命令還是要的。建議堅(jiān)持使用一年的 Linux 桌面(可以考慮 Ubuntu
或 Fedora
這兩個發(fā)行版),多用 Shell 處理問題(我曾經(jīng)就是這么干的。),Linux 自然就熟了。我看到很多人說 Linux 下沒有好的 PHP IDE,我就郁悶了,難道他們用的都不是 PHPStorm
?
開發(fā)是一回事,部署是另外一回事,在win上開發(fā)的代碼部署到linux上環(huán)境上不一定能正常運(yùn)行,特別涉及到文件權(quán)限的問題。所以一般開發(fā)php的都要求掌握linux相關(guān)的知識,因?yàn)榇蟛糠謕hp都會部署在linxu server上。
額,說得好像linux下沒有php的IDE一樣。。。還有l(wèi)inux開發(fā)網(wǎng)站怎么就不方便了,除了要兼容調(diào)試IE
回答這個問題的各位同仁,你們真的是在linux開發(fā)和部署項(xiàng)目的嗎?你們真的是了解了“在Linux下開發(fā)”的真實(shí)需求嗎?
舉個栗子:求PHP高效遍歷文件夾的方法
http://www.oschina.net/question/260395_162648
在Linux上開發(fā),要求你了解Linux下最常見的文件操作、網(wǎng)絡(luò)操作、異常處理、shell、任務(wù)、定時、權(quán)限。
不管你是在Windows下開發(fā),還是Linux下開發(fā),只要項(xiàng)目能在Linux上運(yùn)行,我覺得都可以稱為是俠義的Linux上開發(fā)。但如果連Linux最核心的大招都不會使用(如awk、sed、shell、lvs、Hdfs、計劃任務(wù)、多進(jìn)程),即使是在Linux上開發(fā)和部署的,用的還是從Windows上學(xué)來的冗長、低效的代碼,那我覺得也不叫“Linux上開發(fā)”。
我覺得“Linux上開發(fā)”可以理解為,可以掌握Linux上開發(fā)的常見問題及解決辦法、性能優(yōu)化方法、集群搭建方法,掌握Linux下文件(協(xié)議)操作、網(wǎng)絡(luò)(協(xié)議)操作、集群搭建方法,能用Linux命令、擴(kuò)展,能穩(wěn)定、快速的解決項(xiàng)目的業(yè)務(wù),能使用Linux實(shí)現(xiàn)較低成本獲取較高的性價比的開發(fā)。
高手,善于運(yùn)用工具,而Linux,就是最終極的武器。你用過了嗎,會用嗎?
這句話翻譯過來是這樣的:
“熟練使用Linux操作系統(tǒng)完成php開發(fā)任務(wù)”
開發(fā)和運(yùn)行是分不開的,我個人的習(xí)慣是改一點(diǎn),打開網(wǎng)頁測試一下。所以關(guān)于這個問題我個人的理解就是在Linux下配置整套開發(fā)和運(yùn)行環(huán)境,可以直接在Linux下寫php代碼,通過訪問localhost來測試網(wǎng)站。
你不可能每次寫完之后都部署到服務(wù)器上去運(yùn)行吧。php打開個文本編輯器就能寫,而且apache和mysql在linux底下也有,在哪里不能開發(fā)呢?lamp里面那個l就是linux。
或者可以理解為vim你熟練掌握了沒?
我曾經(jīng)也有這樣的疑問,但是linux開發(fā)網(wǎng)站會非常不方便,除非是mac 電腦。
純手寫的代碼可以比得過IDE?
在widows下使用IDE開發(fā)PHP網(wǎng)站,在linux托管運(yùn)行,我就一直是這么干的。
如果要求高一點(diǎn)的話,這句話可以理解為:會在linux下搭建lamp/lnmp,熟練使用常用命令,會查錯誤日志,針對一些報錯能找到解決方案,熟練運(yùn)用vim。
個人覺得,首先要熟練Linux下php環(huán)境的配置,php開發(fā)工具、測試工具的使用。
然后熟悉nginx配置,nginx如何運(yùn)行php的,與apache的比較(apache以php_module方式運(yùn)行,nginx以fastcgi方式運(yùn)行)。
另外要懂一些運(yùn)維知識,懂一些運(yùn)維知識對開發(fā)是有好處的,就像運(yùn)維人員需要懂點(diǎn)開發(fā)一樣。
熟練linux下php性能監(jiān)控,壓測。監(jiān)控CPU使用率,分析php-fpm輸出日志,跟蹤進(jìn)程等,這些使用linux命令就可以完成。
個人見解,希望對你有幫助。
其實(shí)在你只要服務(wù)器環(huán)境是linux就行了,開發(fā)在windows也無所謂,像我就是用vbox里面裝ubuntu來配置LNMP環(huán)境,在windows下做開發(fā)。不過想要學(xué)好linux最好還是裝在自己桌面上,推薦ubuntu,cent也行
有什么大的區(qū)別么……配置文件基本一樣……
桌面發(fā)行版開發(fā)和windows沒什么大區(qū)別,IDE都跨平臺的……
部署的時候只能SSH連終端而不是windows的遠(yuǎn)程桌面這是唯一覺得不爽的。
習(xí)慣就好。
linux
下開發(fā)好處不是很多,比如能避免文件名大小寫
、路徑反斜杠
、讀寫權(quán)限
等問題,在windows
開發(fā)你只有部署上去了才能發(fā)現(xiàn)!
很簡單的,給自己的windows系統(tǒng)裝個虛擬機(jī),虛擬機(jī)里是centos或?yàn)醢鄨D,然后在虛擬機(jī)里裝php和mysql,部署并測試程序,多試試即可。
樓主可以搜一下LAMP
...
我感覺 就是 讓你會 lnmp 配置 和一些 linux web 運(yùn)維的知識 基本上就夠了 當(dāng)然 也有喜歡在linux開發(fā)的 這得看個人愛好 我個人感覺 win 和 linux 各有各的好處
千萬別在Win下開發(fā)PHP 絕對的坑~win下寫的PHP代碼在linux下各種異常難調(diào)試,
虛擬機(jī)也別用,用了虛擬機(jī)自己心里還是有退路的(分手就應(yīng)該要痛快)
用半年ubuntu,上手了果斷centOS,2年內(nèi)爭取archlinux,筆記本的話就mac,mac下開發(fā)的php 在linux下運(yùn)行都是99%兼容的
不就是想告訴應(yīng)聘者要自己會搭LAMP或LNMP嘛,這有啥,Centos配配超簡單,Linux下寫PHP不是也有sublime text嘛,上傳用Filezilla,Linux一樣搞,這都不是事兒

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

phpisStillRelevantinModernenterpriseenvironments.1.modernphp(7.xand8.x)は、パフォーマンスゲイン、stricttyping、jit compilation、andmodernsyntaxを提供し、scaleApplications.2.phpintegrateSeffeCtiveTiveliveTiveliveTiveliveTiveTiveTiveliveTiveStures、

n 1クエリの問題を避け、関連するデータを事前にロードすることにより、データベースクエリの數(shù)を減らします。 2.必要なフィールドのみを選択して、メモリと帯域幅を保存するために完全なエンティティをロードしないようにします。 3. DoctrineのセカンダリキャッシュやRedis Cacheの高周波クエリ結(jié)果など、キャッシュ戦略を合理的に使用します。 4.エンティティのライフサイクルを最適化し、クリア()を定期的に呼び出してメモリを解放してメモリオーバーフローを防ぎます。 5.データベースインデックスが存在し、生成されたSQLステートメントを分析して、非効率的なクエリを避けます。 6.変更が不要なシナリオで自動変更追跡を無効にし、パフォーマンスを改善するためにアレイまたは軽量モードを使用します。 ORMを正しく使用するには、SQLモニタリング、キャッシュ、バッチ処理、適切な最適化を組み合わせて、開発効率を維持しながらアプリケーションのパフォーマンスを確保する必要があります。

柔軟なPHPマイクロサービスを構(gòu)築するには、RabbitMQを使用して非同期通信を?qū)g現(xiàn)する必要があります。 2。信頼性を確保するために、永続的なキュー、永続的なメッセージ、リリース確認(rèn)、手動ACKを構(gòu)成します。 3.指數(shù)バックオフ再試行、TTL、およびデッドレターキューセキュリティ処理の障害を使用します。 4.監(jiān)督などのツールを使用して、消費(fèi)者プロセスを保護(hù)し、ハートビートメカニズムを有効にしてサービスの健康を確保します。そして最終的に、システムが障害で継続的に動作する能力を?qū)g現(xiàn)します。

正しいPHP Basicイメージを使用し、安全で最適化されたDocker環(huán)境を構(gòu)成することが、生産を?qū)g現(xiàn)するための鍵です。 1.攻撃面を減らしてパフォーマンスを向上させるための基本畫像としてPHP:8.3-fpm-alpineを選択します。 2.カスタムPHP.iniを介して危険な機(jī)能を無効にし、エラーディスプレイをオフにし、OpCacheとJITを有効にしてセキュリティとパフォーマンスを強(qiáng)化します。 3. NGINXを逆プロキシとして使用して、機(jī)密ファイルへのアクセスを制限し、PHPリクエストをPHP-FPMに正しく転送します。 4.マルチステージ最適化畫像を使用して開発依存関係を削除し、非ルートユーザーを設(shè)定してコンテナを?qū)g行します。 5. CRONなどの複數(shù)のプロセスを管理するためのオプションの監(jiān)督。 6.展開前に機(jī)密情報漏れがないことを確認(rèn)します

settings.jsonファイルは、ユーザーレベルまたはワークスペースレベルのパスにあり、VSCODE設(shè)定のカスタマイズに使用されます。 1。ユーザーレベルのパス:WindowsはC:\ users \\ appdata \ roaming \ code \ user \ settings.json、macos is/users //settings.json、linux is /home/.config/code/user/settings.json; 2。Workspace-Level Path:.vscode/settings Project Root Directoryの設(shè)定

PHPのゴミ収集メカニズムは參照カウントに基づいていますが、周期的な円形のゴミコレクターによって円形の參照を処理する必要があります。 1。変數(shù)への參照がない場合、參照カウントはすぐにメモリを解放します。 2.參照參照により、メモリを自動的にリリースできなくなり、GCを検出およびクリーニングすることがGCに依存します。 3。GCは、「可能なルート」ZVALがしきい値に到達(dá)するか、GC_COLLECT_CYCLES()を手動で呼び出すとトリガーされます。 4.長期実行PHPアプリケーションは、メモリの漏れを避けるために、gc_status()を監(jiān)視し、gc_collect_cycles()を呼び出す必要があります。 5.ベストプラクティスには、gc_disable()を使用してパフォーマンスキー領(lǐng)域を最適化し、ormのclear()メソッドを介して繰り返しのオブジェクトを最適化する回路參照の回避が含まれます。

BREFにより、PHP開発者は、サーバーを管理せずにスケーラブルで費(fèi)用対効果の高いアプリケーションを構(gòu)築できます。 1.Brefは、最適化されたPHPランタイムレイヤーを提供し、PHP8.3およびその他のバージョンをサポートし、LaravelやSymfonyなどのフレームワークとシームレスに統(tǒng)合することにより、PHPをAwslambdaにもたらします。 2。展開手順には、次のものが含まれます。Composerを使用してBREFのインストール、httpエンドポイントや職人コマンドなどの関數(shù)とイベントを定義するためにserverless.ymlの構(gòu)成。 3. serverlessdeployコマンドを?qū)g行して、展開を完了し、Apigatewayを自動的に構(gòu)成し、アクセスURLを生成します。 4。Lambdaの制限については、Brefは解決策を提供します。

readonlypropertiesinphp8.2canonlybeassignedonedonedontheconstructoraturatiddeclaration andcannotBemodifiedifiedifiedifiedifiedifiedifiedifiadtivedabilityattthelanguagelele.2.
