亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
キーポイント
アプリケーション環(huán)境
生産環(huán)境
開(kāi)発環(huán)境では、アプリケーションはアクティブな開(kāi)発中です。開(kāi)発環(huán)境とは、開(kāi)発者として使用するコンピューターで、すべてのチームメンバーのコンピューターが近くにいるかリモートであろうと、アプリケーションを開(kāi)発します。これらの2つの側(cè)面はカバーされていますが、開(kāi)発環(huán)境は、その物理的位置よりもアプリケーションの狀態(tài)を指していることに注意する必要があります。
プレリリースとメンテナンス
*アンプバンドルの短所
マシン汚染
學(xué)習(xí)は進(jìn)歩、または快適ゾーンが過(guò)大評(píng)価されている
パフォーマンスとデバッグ
警告:微小最適化に注意を払ってください
要約
PHPアプリケーション環(huán)境を管理するためのベストプラクティスは何ですか?

PHPアプリケーション環(huán)境

Feb 15, 2025 pm 12:43 PM

The PHP Application Environment

The PHP Application Environment

この記事は、最近公開(kāi)された本「Jump Start PHP Environment」から抜粋されています。ペーパーバージョンと電子書(shū)籍は、世界中の主要な書(shū)店で入手できます。ここで注文することもできます。あなたがこの抜粋を楽しんで、それが役に立つと思ったことを願(yuàn)っています。

アプリケーション環(huán)境に焦點(diǎn)を當(dāng)てます。また、XAMPPのようなアンプバンドルと、それらが悪い選択とデバッグです。

キーポイント

  • アプリケーション環(huán)境の理解:PHPアプリケーション環(huán)境は、開(kāi)発、生産、プレリリースなどのさまざまな段階で構(gòu)成されています。各段階は、アプリケーションのライフサイクルに重要です。
  • *アンプバンドルのトレイル:XAMPPのようなパッケージは、便利ですが、學(xué)習(xí)を妨げ、クリーニングとメンテナンスが困難な混oticとした開(kāi)発環(huán)境を引き起こす可能性があります。
  • 生産と開(kāi)発の一貫性:開(kāi)発環(huán)境と生産環(huán)境間の一貫性の維持は、展開(kāi)の問(wèn)題を最小限に抑え、両方のプラットフォームで一貫した動(dòng)作を確保するために重要です。
  • パフォーマンスの最適化とデバッグ:効果的なパフォーマンスの最適化には、データベースのチューニング、フロントエンドチューニング、バックエンドの最適化など、複數(shù)のレベルが含まれ、デバッグは運(yùn)用効率を維持するために重要です。
  • ローカルテスト用の仮想ホスト:仮想ホストを使用すると、開(kāi)発者はローカルマシンのリアルタイム環(huán)境をシミュレートでき、インターネットに展開(kāi)せずにテストと開(kāi)発を容易にします。
  • 仮想マシンの重要性:仮想マシンは、開(kāi)発環(huán)境と生産環(huán)境間の一貫性を?qū)g現(xiàn)し、開(kāi)発者が異なるシステムで同じ設(shè)定を?qū)g行できるようになり、開(kāi)発プロセスが簡(jiǎn)素化されます。

アプリケーション環(huán)境

アプリケーション環(huán)境とは、生産環(huán)境、開(kāi)発環(huán)境、およびリリース環(huán)境などのライフサイクルのさまざまな段階でアプリケーションが存在する環(huán)境を指します。

環(huán)境という用語(yǔ)は、アプリケーションに関するハードウェアとソフトウェア、つまりそれを強(qiáng)化するために使用されます。

生産環(huán)境

最も単純な環(huán)境である生産環(huán)境から始めます。

アプリケーションを展開(kāi)するとき、つまり、サーバーにアップロードし、ターゲットオーディエンスが公開(kāi)できるようにします。

アプリケーションのライフサイクルでは、生産環(huán)境はリアルタイムサーバーです。その設(shè)定により、他の人が接続してWebサイトを表示できるサーバーコンピューターです。このライブサーバーは、可能な限り効率的にアプリケーションを提供するように構(gòu)成されます。開(kāi)発プロセス中に使用するすべての追加ファイルは、コンピレーションまたはビルドと呼ばれるプロセスを通じてアプリケーションから削除されます。これについては、後でさらに説明します。

生産環(huán)境では、あなたのウェブサイトはリアルタイム(または展開(kāi))と見(jiàn)なされ、たとえば獨(dú)自のドメイン名を介してアクセスできます>。 これは、レストランで料理をして、注文した顧客に料理を?qū)盲堡毳伐Д栅讼喈?dāng)します。

開(kāi)発環(huán)境

開(kāi)発環(huán)境では、アプリケーションはアクティブな開(kāi)発中です。開(kāi)発環(huán)境とは、開(kāi)発者として使用するコンピューターで、すべてのチームメンバーのコンピューターが近くにいるかリモートであろうと、アプリケーションを開(kāi)発します。これらの2つの側(cè)面はカバーされていますが、開(kāi)発環(huán)境は、その物理的位置よりもアプリケーションの狀態(tài)を指していることに注意する必要があります。

開(kāi)発環(huán)境では、IDE(第2章を參照)からユニットテストライブラリ、標(biāo)準(zhǔn)の修正、コンパイラとビルダー、ファイルモニターなど、さまざまなツールを使用できます。手元に。 アプリケーションをスマートフォンと比較すると、開(kāi)発環(huán)境が開(kāi)発環(huán)境です。この環(huán)境には、スクリーン、ハウジング、バッテリー、さまざまなLEDなどの必要なすべてのコンポーネントが含まれており、各コンポーネントは、スマートフォンユニットの構(gòu)築に使用される前に個(gè)別にテストされています。これは単體テストと呼ばれます。すべてのユニットが機(jī)能することを確認(rèn)します。 アプリケーション開(kāi)発における?yún)g體テストの例については、この章の最後に「もっと欲しい人」というタイトルのセクションを參照してください。

スマートフォンアセンブリのメタファーをさらに説明するために、テスト中のバッテリーには別の充電器アクセサリーが必要になる場(chǎng)合があります。また、畫(huà)面をテストするために合成指を持つロボットアームが必要になる場(chǎng)合があります。

これらのアドオンはすべて、開(kāi)発中にのみ存在します。これらのアドオンは、開(kāi)発環(huán)境から生産環(huán)境に変換されると削除されます(

deploy

とも呼ばれます)。アプリケーションでは、前述のコンピレーション/ビルドステップを意味します。さまざまなCSSとJavaScriptファイルがマージされ、Webサイトのサイズを縮小し、人々が訪問(wèn)したときに速く表示されます。また、他のさまざまな最適化が発生します(この章で後半に導(dǎo)入) - すべてが準(zhǔn)備が整ったときに最終製品の魅力と可能性を最大化するためです。

ホストと仮想ホスト

The PHP Application Environment The URL cannot be accessed when you are developing on your own computer http://ipnx.cn/link/2c70bf4df3f4bfe2322ecf7a8803418c.

要するに、仮想ホストはコンピューターにインストールされているサーバープログラムの指示を発行します。たとえば、ユーザーがブラウザでhttp://mysite.comを要求する場(chǎng)合、ファイルmysite.phpをPHPで実行し、その出力を閲覧しますマシンに表示されます。

ご覧のとおり、これはライブWebサイトの通常のリクエストプロセスとほぼ同じです。しかし、インターネットの名前サーバーでそれを探す代わりに、ブラウザがMySite.comドメイン名を自分のコンピューターのサーバープログラムに尋ねるのはなぜですか?ホストファイル。

ホストファイルは、各オペレーティングシステムに存在する特別なファイルです。 「もっと欲しい人のために」というタイトルのセクション1で簡(jiǎn)単に述べました。ドメイン名とその対応するIPアドレスのリストが含まれているため、コンピューター上のブラウザが読み取り、DNSと通信して行きたい場(chǎng)所を確認(rèn)することなく直接IPアドレスに移動(dòng)できます。 Windowsには、ファイルはc:windowssystem32driveversethechosts、linuxおよびmacマシンにあり、 /etc /hostsにあります。このファイルにIP名ペアを入れた場(chǎng)合、コンピューターはそれに従います。今すぐ試すことができます??证欷胜い扦坤丹?- 何もうまくいかない。準(zhǔn)備ができて?

Windowsで、検索フィールドを入力し、「メモ帳」と入力し、表示されたら右クリックして「管理者として実行」を選択します。その後、確認(rèn)するように求められます。開(kāi)くウィンドウで、「ファイル」>を選択し、次のようになります。メモ帳ウィンドウの右下隅で、「すべてのファイル」を選択してホストファイルを表示することをお?jiǎng)幛幛筏蓼?。ダブルクリックして開(kāi)きます。 Linux/Macマシンでは、検索して端末を開(kāi)きます。 Linux

で、端末でsudo geditを入力して、管理者としてデフォルトのテキストエディターを開(kāi)きます。管理者のパスワードを入力するように求められます。 OS xで、sudo/applications/textedit.app/contents/macos/texteditを入力します。同じタスクを?qū)g行します。これら2つのエディターのいずれかで、「ファイル」 - >「開(kāi)く」に移動(dòng)し、ディレクトリ /などを入力してホストファイルを見(jiàn)つけます。ダブルクリックして開(kāi)きます。 ファイルを開(kāi)いた後、最初の數(shù)行に注意してください。それらはすべてハッシュシンボル(#)で始まります。これは、それらがコメントであり、ファイルに影響を與えないことを意味します。これらはユーザーにファイルを説明するために使用され、PHPにも存在します。 さて、これらすべてのコメント行の下で、次の行を追加します。

ファイルを保存し、ブラウザでhttp://bing.comを開(kāi)きます。 Microsoft Search Engine BingへのすべてのリクエストをGoogleにリダイレクトしたばかりです!もちろん、これらの変更を維持することはできません。いつものようにhttp://bing.comに再度アクセスできるはずです。

この方法を使用して、後ですべてのブラウザリクエストをhttp://mysite.com(アプリケーションのサンプルドメイン名)にリダイレクトします。これにより、リアルタイム環(huán)境に展開(kāi)することなく、Webサイトの開(kāi)発バージョンを簡(jiǎn)単にテストできます。

プレリリースとメンテナンス

プレリリース環(huán)境は、生産環(huán)境のコピー(ミラーとも呼ばれる)を含む別のサーバー(または複數(shù)のサーバー)です。中小企業(yè)やプロジェクトでは、通常、リリース前の環(huán)境がスキップされます。インストールされているソフトウェアバージョンのマッチング、構(gòu)成値は同じであるため、できるだけ生産環(huán)境に似ているように設(shè)計(jì)されています。 Pre-Releaseは最終的なテストを?qū)g行するために使用されます。たとえば、Facebookはホームページを再設(shè)計(jì)する可能性があります。チームの専用の非プログラマー)は、まるで定期的に使用されているかのようにすべてをテストできます。すべてがうまくいけば、プレリリースから生産への最終的な展開(kāi)が発生します。

プレリリースはこの本の範(fàn)囲を超えていますが、それを知っておくのは常に良いことです。仮想マシンと小さな1回限りのプロジェクトの時(shí)代には、リリース前は冗長(zhǎng)性があり、大規(guī)模で長(zhǎng)期のWebアプリケーションでのみ機(jī)能します。

このコンテキストでは、

メンテナンスモードも導(dǎo)入する必要があります。アプリケーション周辺の環(huán)境は変更されないため、モードではなく、ではありません。アプリケーションの狀態(tài)のみが変更されます。通常、これは、「今すぐ戻って、調(diào)整!」のようなものをサイトに訪れようとしている人々に伝える生産サーバーの単なるスイッチです。

*アンプバンドルの短所

PHP開(kāi)発を開(kāi)始するとき、XAMPP、WAMP、MAMP、EASYPHPなどのパッケージをダウンロードしてインストールすることは非常に魅力的です。これらの名前のアンプは、「Apache、MySQL、およびPHP」を表しています。 XAMPPは、PERL言語(yǔ)の最後に別のPを追加します。最初の文字は、Windows、Linux、Mac OS X、またはXAMPP、Cross-Platform(任意のオペレーティングシステムで実行できることを意味する)のオペレーティングシステムを指します。

これらのバンドルには、コンピューターでPHPアプリケーションをすばやく簡(jiǎn)単に実行するために必要なすべてのソフトウェアが含まれています。ワンクリックだけで、最初のPHPスクリプトを作成するために必要なすべてをインストールできます。それで、欠點(diǎn)は何ですか?

  • コンピューターは不必要なソフトウェアで汚染されます
  • 手動(dòng)インストールよりも少ない習(xí)慣
  • テストは困難です
  • 間違いを犯した場(chǎng)合、以前の狀態(tài)に復(fù)元することは非常に難しいか不可能です

これらの問(wèn)題を1つずつ解決しましょう。

マシン汚染

コンピューターに *ampスタックなどのソフトウェアをインストールするたびに、コンピューターの一部が破損します。後でソフトウェアを削除したとしても、通常、不快なトレースが殘ります。通常、通常、WindowsのレジストリキーまたはLinux上のファイルの殘留物の形式です。実際、これはLinuxで特に顕著です。 WindowsおよびOS Xアプリケーションは1つのアプリケーションフォルダーにインストールされていますが、Linuxにはすべての関連ファイルが含まれています。ソフトウェアのインストールは、ショットガンで構(gòu)築された城を撮影するようなものです。ワンクリックで、それらはどこにでもあります。

時(shí)間が経つにつれて、別のライブラリ、別のパッケージ、別のツールをインストールします。アプリケーションをさらに開(kāi)発するにつれて、補(bǔ)足ソフトウェアを追加し続け、おそらくまったく異なるプロジェクトを追加します。これは、並行して新しいプロジェクトの作業(yè)を開(kāi)始しているためです。たぶん、 app1は畫(huà)像を編集するためにPHP拡張機(jī)能を必要としますが、app2は、コードを競(jìng)合他社から隠すようにコードを閉じたソースアーカイブにパッケージ化できるようにするためにPHP拡張機(jī)能が必要です。時(shí)間が経つにつれて、マシンに數(shù)百メガバイトの開(kāi)発ソフトウェアがありますが、まだ必要かどうかはわかりません。

マシンが遅くなり、アプリケーションが使用可能になり、開(kāi)発マシン(使用しているコンピューター)は、アプリケーションの展開(kāi)を計(jì)畫(huà)している生産サーバーとは大きく異なります。この違いを優(yōu)雅に処理できる。ライブWebサイトで間違いを頻繁に戦うことになり、訪問(wèn)者を悩ませることになります。

學(xué)習(xí)は進(jìn)歩、または快適ゾーンが過(guò)大評(píng)価されている

です これらの事前に構(gòu)築されたパッケージに依存することにより、學(xué)習(xí)システム管理(OPS for Short)も奪われます。大企業(yè)では、OPSはサーバーの問(wèn)題を擔(dān)當(dāng)するチームまたは個(gè)人です。エラーの修正、新しいソフトウェアのインストール、既存のソフトウェアのアップグレードなどです?;镜膜圣伐攻匹喙芾恧稀⑿∫?guī)模なチームで作業(yè)したり、クライアントのために単獨(dú)で作業(yè)する場(chǎng)合、必須のスキルです。

ワンクリックでコンピューターに必要なものをすべてインストールできるようにすることは非常に便利ですが、サーバーにはユーザーインターフェイスがありません。 PHPアプリケーションを?qū)g行できるようにソフトウェア。それ以外の場(chǎng)合、あなたはあなたを助けるためにサーバー管理者を雇う運(yùn)命にあるか、さらに悪いことに、共有ホスティングを使用するようにしています(第6章で説明したホラーストーリー)。

これらの *アンプバンドルに依存することを拒否することにより、サーバーやその他のソフトウェアを手動(dòng)でインストールすることを余儀なくされます。これにより、學(xué)習(xí)曲線の克服が強(qiáng)制されます。多くの點(diǎn)で役立ちます。また、この本の後半で説明するように、基本を習(xí)得することは実際には難しくありません。

テスト

app1

およびapp2がphp 5.3、mysql 4.0を?qū)g行し、apache(サーバーソフトウェア)を搭載したサーバーに展開(kāi)することを目的としているとします。次に、新しい要件があります。 app1がphp 5.6とmysql 5.1で実行され、nginx(apacheと競(jìng)合する別のサーバープログラム、「エンジンx」と発音)によって駆動(dòng)できることを確認(rèn)してください。ああ、私は今何をすべきですか?

PHPを新しいバージョンに更新して、app1がまだ有効であるかどうかを確認(rèn)できますが、PHP 5.3で使用できないコードを予期せず使用せずにapp2を開(kāi)発し続けることができます。

はどうですか?繰り返しますが、MySQLを5.1にアップグレードしてまだ動(dòng)作しているかどうかを確認(rèn)できますが、MySQLがバージョン5の古い機(jī)能を破棄するかどうかをどのようにして知ることができます。結(jié)局のところ、APP2は4.0で実行される必要があります。これは、そのような生産サーバーに展開(kāi)される可能性があるためです。悲しいかな、Apache vs Nginxにどのように対処しますか?コンピューターに2つのWebサーバーをインストールし、個(gè)別にテストしますか?どのようにそれらを切り替えるのですか?実行時(shí)にウェブサイトをテストすることを忘れないでください。

これは2つのアプリケーションのみです。ここで、それぞれが異なる要件を持つ10の異なる顧客からの數(shù)十のアプリケーションに対処する必要があるかどうかを想像してください。それはすべてすぐに楽しくなりませんでした。

さまざまなソフトウェアバージョンのこの分離の問(wèn)題は、仮想マシンを介して簡(jiǎn)単に解決できます。これについては、第4章で説明します。

掃除できないクラッター

最後に、PHPの新しいバージョンをインストールしようとしたが問(wèn)題がある場(chǎng)合はどうなりますか?この狀況は、OS XとLinuxで特に一般的です。マシンにインストールされているPHPバージョンが機(jī)能していないため、単一のサイトを?qū)g行することは不可能であることがわかります。なんてめちゃくちゃだ!以前の実行狀態(tài)に簡(jiǎn)単に復(fù)元できるのではなく、私たちは1日を費(fèi)やして獨(dú)自のシステムをデバッグして実行しようとすることを余儀なくされました。

10分前に物事を取り戻すためにコマンドを入力する必要がある場(chǎng)合は素晴らしいことではないでしょうか?わかりました、できます!これは第4章でも実証されます。

生産/開(kāi)発の一貫性

これは複雑に聞こえますが、実際には非常に単純です - 私たちは実際にそれについて間接的に以前に話しました。生産/開(kāi)発の一貫性とは、生産と開(kāi)発環(huán)境を可能な限り類(lèi)似して、できればまったく同じようにすることを意味します。そのため、開(kāi)発は追加の構(gòu)成やデバッグやチューニングなしで生産環(huán)境で自動(dòng)的に実行されます。

一貫性を達(dá)成することは、時(shí)間の節(jié)約が大幅に節(jié)約されているため、ワークフローにとって非常に重要です。アプリケーションが生産環(huán)境で実行されるために追加の作業(yè)を行う必要がないことを避けてください。つまり、絶えず追いかけるのではなく、アプリケーションのコンテキストに本當(dāng)に有益な重要なビジネス関連のロジックの問(wèn)題に時(shí)間とエネルギーを自由に集中できます。開(kāi)発に変更を加え、その後、変更を表示するために生産に2つの変更を加えなければならないことは、せいぜい退屈であり、最?lèi)櫎螆?chǎng)合はプロジェクトの健康を損なう可能性があります。チームの誰(shuí)が間違いを犯すかはわかりませんが、アプリはユーザーにエラー畫(huà)面を表示します。

一貫性を?qū)g現(xiàn)する最良の方法は、開(kāi)発環(huán)境と同じソフトウェアを開(kāi)発環(huán)境で実行することです。たとえば、Ubuntu Linux 14.04オペレーティングシステムを?qū)g行しているサーバー上の生産環(huán)境にアプリケーションを展開(kāi)する場(chǎng)合は、このオペレーティングシステムでも開(kāi)発することをお?jiǎng)幛幛筏蓼?。しかし、ゲームなどの高度なマルチメディアコンテンツを使用したいのか、Linuxオペレーティングシステムにまったく存在しない強(qiáng)力な畫(huà)像およびビデオ?jiǎng)I理ソフトウェアが必要なため、Windowsを?qū)g行している場(chǎng)合はどうなりますか?他のすべての興味を放棄し、LinuxをWindowsにインストールし、他の何よりも一貫性に取り組む必要がありますか?または、コンピューターを強(qiáng)く、美しく安定させ、選択したオペレーティングシステムに固執(zhí)しながら、一貫性を放棄し、リスクを冒す必要がありますか?

幸いなことに、両方の世界を同時(shí)に最大限に活用するには、仮想マシン(第4章で紹介されています)を得るための3番目の方法があります。

パフォーマンスとデバッグ

導(dǎo)入する必要があるアプリケーション環(huán)境の最後のいくつかの側(cè)面は、アプリケーションが高速(パフォーマンス)とエラーのない(デバッグ)であることを保証することです。このセクションは、これらの用語(yǔ)に遭遇したときに何を期待するかを完全に知らせるためです。

パフォーマンスは、さまざまな最適化方法を通じて達(dá)成されます。単語(yǔ)の意味に反して、アプリケーション開(kāi)発において、最適化には通常複數(shù)のレベルがあり、すぐに完全な解決策につながる変更はほとんどありません。パフォーマンスには、以下の側(cè)面が含まれますが、これらに限定されません。

データベースを最適化する
データベースは通常、あらゆるウェブサイトの最も遅い部分であり、データベースが一定期間実行された後、ボトルネックが登場(chǎng)するリクエストが不可能になったため、ボトルネックになります。最も遅い部分が明らかになると、追加の最適化の恩恵を受けることができます。データベース最適化の方法には、インデックスの設(shè)定、読み取りと書(shū)き込みの分割、データベースエンジンの変更、キャッシュされた抽出データ、およびその他の神秘的なフレーズが含まれます。

フロントエンドのリソースを最適化します

以前に編集と構(gòu)造について言及しました - これがウェブサイトのフロントエンドを最適化する方法です。 Webサイトをユーザーに表示する場(chǎng)合、表示される出力には畫(huà)像、HTML、CSS、およびJavaScriptが含まれます。これらはすべて、第1章で説明されているように、ブラウザでダウンロードおよび実行する必要があります。これらのファイルが小さいほど、より少ないほど、ウェブサイトのロードが速くなります。通常、Webサイトには複數(shù)のCSSファイルと複數(shù)のJavaScriptファイルがあります。各タイプをより大きなCSSまたはJavaScriptファイルに組み合わせると、Webサイトのダウンロード速度が大幅に向上します。頻繁に使用される別のフロントエンドリソース最適化のヒントは、コンテンツ配信ネットワーク(CDN)を介して畫(huà)像を提供することです。これは、あなたのために畫(huà)像をホストし、あなたのウェブサイトへの訪問(wèn)者がサーバーに最も近いサーバーから畫(huà)像をダウンロードできるようにすることです。速度を改善します。また、すべての畫(huà)像をファイルに配置することにより、畫(huà)像サイズを縮小したり、畫(huà)像ウィザードを作成したりすることもできます。

バックエンドを最適化

これもコンパイル/ビルドステップです。テストファイルは無(wú)視され、100萬(wàn)個(gè)の小さなファイルの代わりにファイルが大きなファイルにマージされます。一部のPHPアプリケーションは、Cなどの別のプログラミング言語(yǔ)にコンパイルされることもありますが、これははるかに高速です。

キャッシュ
キャッシュは、以前に必要なファイルと応答を後で使用するために保存し、それらが再びリクエストされることを期待することです。データベース內(nèi)のユーザーの総數(shù)をデータベースに尋ねると、それらをカウントし、その數(shù)を提供します。後で使用するためにこの番號(hào)を保存する(つまり、キャッシュする)場(chǎng)合、次に尋ねられるときに、準(zhǔn)備された情報(bào)を直接取得できます。サーバーに「mysite.com/user/5/にアクセスした場(chǎng)合は何が得られるのか」と尋ねるとわかります。次に質(zhì)問(wèn)をするときに尋ねるときに答えを覚えているように言うと、サーバーはすでに知っているので調(diào)べる必要はありません。キャッシングは、ウェブ開(kāi)発において非常に重要です - 「キャッシュは王」ということわざがあります。多くのトラフィックが突然現(xiàn)れると、アプリケーションが生または死亡であることを意味します。

デバッグは、パフォーマンスと密接に関連しています。ユーザーに迷惑なエラー畫(huà)面をもたらすことに加えて、コードのエラーは、実行ロック、コードに存在しないはずの一時(shí)停止、データベースの複製、不必要なクエリなどにもつながる可能性があります。

では、パフォーマンスを測(cè)定したり、エラーを見(jiàn)つけたりする方法は? PHPアプリケーションの分析に使用できる多くのツールがあります(これは、アプリケーションのあらゆる側(cè)面でエラーを見(jiàn)つけることと測(cè)定パフォーマンスと呼ばれるものです)。 2つの優(yōu)れたツールは、ZrayとBlackfireです(この本の範(fàn)囲を超えているため、この本では紹介しません)。

警告:微小最適化に注意を払ってください

一般的な初心者の間違いは微小最適化であることに注意する必要があります。たとえば、文字列で単一の引用符を使用すること($ var = 'some string')を使用すると、二重引用符($ var = "some string")よりも高速であるという考えがかつてありました。この最適化が得られるパフォーマンスは無(wú)視でき、ほとんど常に些細(xì)なことです。疑わしい場(chǎng)合は、ベンチマークと実際のデータ(ZrayまたはBlackfireのデータなど)を使用して、直感を使用しないでください。

要約

この章では、アプリケーション環(huán)境を調(diào)査し、ライフサイクルの特定の段階でアプリケーションの周りに存在するさまざまなエコシステムをカバーします。仮想ホスティングと、オンラインで結(jié)果を見(jiàn)つける代わりに、WebサイトURLを獨(dú)自のPHPインストールにリダイレクトするようにコンピューターを構(gòu)成する方法について説明し、非常に重要な開(kāi)発/生産の一貫性について説明しました。

これがすべて複雑すぎると思われる場(chǎng)合は、落膽しないでください。これは、これまでのところ、ほぼ唯一の理論、つまり実踐の領(lǐng)域に勇敢に入るために必要な理論を扱ってきたからです。次の章では、いくつかの仮想マシンを使用して自分で操作します。

もっと欲しい人のために

アプリケーションの領(lǐng)域では、個(gè)々のコンポーネントのテストはユニットテストと呼ばれます。各コードセットをテストして、それが機(jī)能するかどうかがわかります。

たとえば、

アプリケーションの一部は、各名前からローカルシンボルを削除し、アメリカに優(yōu)しい文字に変換する機(jī)能を備えている場(chǎng)合があります。したがって、私の姓「?kvorc」は「skvorc」に変換されます。 ?kvorcをSkvorcに変換することは、小さなコードまたはユニットです。このユニットはテスト可能です。次に、入力と必要な出力を定義するファイルであるユニットテストを作成できます。実行すると、この関數(shù)がまだ有効かどうかをテストします。 2か月後にアプリの何かを変更した場(chǎng)合、このテストを簡(jiǎn)単に実行し(まだ存在します)、この変換がまだ有効かどうかを確認(rèn)できます。このワークフローにより、以前に構(gòu)築され忘れたことを壊すことを心配することなく、後でアプリケーションをアップグレードできるようになります。この章の冒頭のスマートフォンに関するメタファーでは、別のテスト可能なユニットがタッチスクリーンまたはバッテリーになることができます。

PHPアプリケーション環(huán)境(FAQ)

に関するFAQ

Web開(kāi)発におけるPHPアプリケーション環(huán)境の重要性は何ですか?

PHPアプリケーション環(huán)境は、Web開(kāi)発の重要な側(cè)面です。開(kāi)発者がPHPアプリケーションを構(gòu)築、テスト、展開(kāi)できる制御環(huán)境を提供します。この環(huán)境には、PHPインタープリター、Webサーバー、およびデータベースシステムが含まれます。これにより、開(kāi)発者は、構(gòu)成設(shè)定、エラー処理、データベース接続など、一貫した予測(cè)可能な方法でアプリケーションのさまざまな側(cè)面を管理できます。これにより、より効率的な開(kāi)発プロセスと高品質(zhì)のアプリケーションにつながります。

PHPアプリケーション環(huán)境と他のプログラミング環(huán)境の違いはどうですか?

PHPアプリケーション環(huán)境は、Web開(kāi)発用に設(shè)計(jì)されています。彼らは、動(dòng)的なWebページとWebアプリケーションの作成を促進(jìn)する機(jī)能を備えています。他のいくつかのプログラミング環(huán)境とは異なり、PHP環(huán)境はさまざまなデータベースをサポートし、さまざまなオペレーティングシステムと互換性があります。また、幅広いエラーレポートとロギング機(jī)能を提供します。これは、デバッグやトラブルシューティングに大いに役立ちます。

PHPアプリケーション環(huán)境の重要なコンポーネントは何ですか?

PHPアプリケーション環(huán)境には、通常、PHPインタープリター、Webサーバー、およびデータベースシステムの3つの主要なコンポーネントが含まれています。 PHPインタープリターは、PHPスクリプトの実行を擔(dān)當(dāng)します。 Webサーバーは、HTTPリクエストと応答を処理します。データベースシステムは、PHPアプリケーションの要件に従ってデータを保存および取得します。これらのコンポーネントは、PHPアプリケーションの開(kāi)発、テスト、展開(kāi)のための包括的なプラットフォームを提供します。

PHPアプリケーション環(huán)境をセットアップする方法は?

PHPアプリケーション環(huán)境のセットアップには、必要なコンポーネントのインストールと構(gòu)成が含まれます。これには、PHP通訳者、Webサーバー(ApacheやN(xiāo)ginxなど)、およびデータベースシステム(MySQLやPostgreSQLなど)が含まれます。これらのコンポーネントをインストールした後、それらは一緒に動(dòng)作するように構(gòu)成する必要があります。これには、データベース接続の設(shè)定、PHP設(shè)定の構(gòu)成、PHPスクリプトを処理するWebサーバーの設(shè)定が含まれます。

PHPアプリケーション環(huán)境を管理するためのベストプラクティスは何ですか?

PHPアプリケーション環(huán)境を管理するためのベストプラクティスには、環(huán)境を最新の狀態(tài)に保ち、定期的にデータのバックアップ、環(huán)境のパフォーマンスの監(jiān)視が含まれます。また、安全な接続の使用、機(jī)密データの保護(hù)、脆弱性の定期的なチェックなど、セキュリティのベストプラクティスに従うことも重要です。さらに、バージョン制御システムを使用すると、変更を管理し、アプリケーションのさまざまなバージョンを追跡できます。

PHPアプリケーション環(huán)境はエラー処理にどのように役立ちますか?

PHPアプリケーション環(huán)境は、幅広いエラーレポートおよびロギング機(jī)能を提供します。これらの機(jī)能は、PHPスクリプトの実行中に発生するエラーに関する詳細(xì)情報(bào)を提供するように構(gòu)成できます。この情報(bào)は、デバッグやトラブルシューティングに非常に貴重です。さらに、PHP環(huán)境は、カスタムエラーページを表示するなど、ユーザーエクスペリエンスを中斷しない方法でエラーを処理するように設(shè)定できます。

モバイルアプリケーション開(kāi)発にPHPアプリケーション環(huán)境を使用できますか?

はい、PHPアプリケーション環(huán)境はモバイルアプリケーション開(kāi)発に使用できます。 PHPはサーバー側(cè)のスクリプト言語(yǔ)です。つまり、モバイルアプリケーションのバックエンドを作成するために使用できます。このバックエンドは、データの処理、データベースとの対話、ユーザーセッションの管理などのタスクを処理できます。ただし、モバイルアプリケーションのフロントエンドでは、通常、HTML、CSS、JavaScriptなどのさまざまなテクノロジーを使用します。

PHPアプリケーション環(huán)境を使用することの利點(diǎn)は何ですか?

PHPアプリケーション環(huán)境を使用することには多くの利點(diǎn)があります。 PHPアプリケーションの開(kāi)発、テスト、展開(kāi)のための制御された予測(cè)可能な環(huán)境を提供します。さまざまなデータベースをサポートし、さまざまなオペレーティングシステムと互換性があります。また、幅広いエラーレポートとロギング機(jī)能を提供します。これは、デバッグやトラブルシューティングに大いに役立ちます。さらに、PHP環(huán)境は通常、セットアップと管理が簡(jiǎn)単です。

PHPアプリケーション環(huán)境を保護(hù)する方法は?

PHPアプリケーション環(huán)境の保護(hù)には、複數(shù)のステップが含まれます。これには、安全な接続の使用、機(jī)密データの保護(hù)、環(huán)境の定期的な更新、脆弱性の確認(rèn)が含まれます。また、ユーザー入力の検証やクリーニングなど、PHPエンコードのベストプラクティスに従って、データベースクエリの前処理ステートメントを使用し、非推奨機(jī)能を回避することも重要です。

PHPアプリケーション環(huán)境をカスタマイズできますか?

はい、PHPアプリケーション環(huán)境をカスタマイズして、プロジェクトの特定のニーズを満たすことができます。これには、PHP設(shè)定の構(gòu)成、データベース接続の設(shè)定、Webサーバーのカスタマイズが含まれます。さらに、迅速なアプリケーション開(kāi)発、テストツール、畫(huà)像処理、XML解析などのタスクを処理するためのライブラリなど、PHP環(huán)境の機(jī)能を拡張できる多くの利用可能なツールとライブラリがあります。

以上がPHPアプリケーション環(huán)境の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

パスワード強(qiáng)度のPHP Regex パスワード強(qiáng)度のPHP Regex Jul 03, 2025 am 10:33 AM

パスワードの強(qiáng)度を判斷するには、定期的な処理と論理処理を組み合わせる必要があります?;镜膜室摔弦韵陇蓼欷蓼?。1。長(zhǎng)さは8桁以上です。 2。少なくとも小文字、大文字、および數(shù)字を含む。 3。特別な文字制限を追加できます。高度な側(cè)面に関しては、文字の継続的な重複と漸進(jìn)的/減少シーケンスを避ける必要があります。これには、PHP機(jī)能検出が必要です。同時(shí)に、ブラックリストを?qū)毪筏?、パスワードや123456などの一般的な弱いパスワードをフィルタリングする必要があります。最後に、評(píng)価の精度を向上させるためにZXCVBNライブラリを組み合わせることをお?jiǎng)幛幛筏蓼埂?/p>

PHP変數(shù)スコープは説明されています PHP変數(shù)スコープは説明されています Jul 17, 2025 am 04:16 AM

PHP変數(shù)スコープの一般的な問(wèn)題とソリューションには次のものが含まれます。1。グローバル変數(shù)は関數(shù)內(nèi)でアクセスできず、グローバルキーワードまたはパラメーターを使用して渡す必要があります。 2。靜的変數(shù)は靜的で宣言され、1回のみ初期化され、値は複數(shù)の呼び出し間で維持されます。 3. $ _GETや$ _POSTなどのハイパーグローバル変數(shù)は、任意の範(fàn)囲で直接使用できますが、安全なフィルタリングに注意を払う必要があります。 4.匿名関數(shù)は、使用キーワードを使用して親スコープ変數(shù)を?qū)毪工氡匾ⅳ辍⑼獠繅鋽?shù)を変更する場(chǎng)合は、參照を渡す必要があります。これらのルールを習(xí)得すると、エラーを回避し、コードの安定性が向上するのに役立ちます。

ファイルアップロードをPHPで安全に処理する方法は? ファイルアップロードをPHPで安全に処理する方法は? Jul 08, 2025 am 02:37 AM

PHPファイルのアップロードを安全に処理するには、ソースとタイプを確認(rèn)し、ファイル名とパスを制御し、サーバー制限を設(shè)定し、メディアファイルを2回プロセスする必要があります。 1.トークンを介してCSRFを防ぐためにアップロードソースを確認(rèn)し、ホワイトリストコントロールを使用してFINFO_FILEを介して実際のMIMEタイプを検出します。 2。ファイルをランダムな文字列に変更し、検出タイプに従って非WEBディレクトリに保存する拡張機(jī)能を決定します。 3。PHP構(gòu)成は、アップロードサイズを制限し、一時(shí)的なディレクトリnginx/apacheはアップロードディレクトリへのアクセスを禁止します。 4. GDライブラリは寫(xiě)真を再利用して、潛在的な悪意のあるデータをクリアします。

PHPでコードをコメントします PHPでコードをコメントします Jul 18, 2025 am 04:57 AM

PHPコメントコードには3つの一般的な方法があります。1。//#を使用して1行のコードをブロックすると、//を使用することをお?jiǎng)幛幛筏蓼埂?2。使用/.../複數(shù)の行でコードブロックをラップするには、ネストすることはできませんが交差することができます。 3. / if(){}を使用するなどの組み合わせスキルコメントロジックブロックを制御するか、エディターショートカットキーで効率を改善するには、シンボルを閉じることに注意を払い、使用時(shí)にネストを避ける必要があります。

発電機(jī)はPHPでどのように機(jī)能しますか? 発電機(jī)はPHPでどのように機(jī)能しますか? Jul 11, 2025 am 03:12 AM

ageneratorinphpisamemory-efficientwaytoateate-overdeatatasetasetasetasetsinging valueseintimeintimeturningthemallatonce.1.generatorsususedeywordproducevaluesedemand、memoryusage.2を還元すること。2

PHPコメントを書(shū)くためのヒント PHPコメントを書(shū)くためのヒント Jul 18, 2025 am 04:51 AM

PHPコメントを書(shū)くための鍵は、目的と仕様を明確にすることです。コメントは、「何が行われたのか」ではなく「なぜ」を説明する必要があり、冗長(zhǎng)性や単純さを避けてください。 1.読みやすさとツールの互換性を向上させるために、クラスおよびメソッドの説明にdocblock(/*/)などの統(tǒng)合形式を使用します。 2。JSジャンプを手動(dòng)で出力する必要がある理由など、ロジックの背後にある理由を強(qiáng)調(diào)します。 3.複雑なコードの前に概要説明を追加し、手順でプロセスを説明し、全體的なアイデアを理解するのに役立ちます。 4. TodoとFixmeを合理的に使用して、To Doアイテムと問(wèn)題をマークして、その後の追跡とコラボレーションを促進(jìn)します。優(yōu)れた注釈は、通信コストを削減し、コードメンテナンスの効率を向上させることができます。

クイックPHPインストールチュートリアル クイックPHPインストールチュートリアル Jul 18, 2025 am 04:52 AM

to installphpquickly、usexampponwindowsorhomebrewonmacos.1.onwindows、downloadandinstallxampp、selectcomponents、startapache、andplacefilesinhtdocs.2

PHPの學(xué)習(xí):初心者向けガイド PHPの學(xué)習(xí):初心者向けガイド Jul 18, 2025 am 04:54 AM

tolearnphpefctivially、startbysettingupalocalserverenvironmentusingtoolslikexamppandacodeeditorlikevscode.1)instalxamppforapa Che、mysql、andphp.2)useocodeeditorforsyntaxsupport.3)testyoursetup withasimplephpfile.next、Learnpbasicsincludingvariables、ech

See all articles