Windows開発者として、現在LAMPを使用して自分のプロジェクトに取り組んでいます。私はPHPとMySQLについて知っておくべきことを理解していますが、Linuxは巨大に見え、どこから始めればよいか、自分の目標を十分に満たすことができるかどうかはわかりません。
そして、私の目標は、一般的な概念を把握し、プロジェクトをホスティングプロバイダーにデプロイし、問題を特定し、問題をロードするためにサイトのパフォーマンスを監視できるようにすることです。
最善の解決策は、Linuxを入手することです。管理者はそれを行うことができますが、その前に自分で行う必要があります。
あなたの問題の80%は許可です。Windowsではこれらの方法が異なります。rootとして(またはrootのような特権で)ログインすると、権限をバイパスできます。Apacheはできませんし、できません。
残りの問題のうち、80%はPATHの問題です。PHPには、JavaやPythonほど大きなPATH問題はありませんが、すべてPATH設定を使用してコンポーネントとライブラリを検索します。あなたはそれらを定期的に間違えるでしょう。WindowsにはPATHがありますが、レジストリもあるので、非常に簡単に、または非常に秘密にできます。Unixには秘密はありません。
mod_php
。echo $PATH
何が起こっているのかを明らかにするために短いシェルスクリプトを書いてください。残りの問題のうち、80%はデータベースに関連しています。データベースのアクセス許可を整理した後も、接続を確立する必要があります。「名前付きパイプ」と「localhost」は、あいまいで混乱する方法で間違っています。MySQLは非常に寛容ですが、ここではいくつかの間違いを犯します。
残りの問題のうち、80%はApache構成です。Apacheは本当にシンプルですが、100万のオプションがあります。すべてを行うには4つの方法があり、まったく機能しない2つを常に試行し、厄介な3つ目を解決します。4番目ははるかに簡単ですが、あなたには決して起こりません。
残りの問題のうち、80%はアプリケーションによるファイルシステムの使用です。ローカルファイルを開いたり、読み取ったり、書き込んだりしようとすると、(a)使用しようとしているディレクトリのパーミッションが正しくない(上記を参照)ことと、(b)Unixファイルのパスが異なることがわかります。それほど大きな違いはありませんが、何かが不明瞭な方法で壊れるほど十分に異なります。
残りの問題のうち、80%はサブプロセスの作成です。Windowsはこれを別の方法で行います。Unixで最も重要なことの1つは、サブプロセスが子であり、OSがクリーンアップできるようにサブプロセスが完了するのを実際に待つ必要があることを覚えておくことです。サブプロセスを「ファイアアンドフォーゲット」の並列処理と考えると、ゾンビプロセスが存在し、定期的に再起動する必要があります。
残りの問題は些細なアプリケーションロジックですが、プラットフォームの違いにより、PHPアプリケーションのバグを追跡する前にUnixを非難することになります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加