質問

オープンソースからは少し疎遠になり、ASP.Net での Web アプリケーションの開発に数年を費やした後、かなり多くの PHP / MySQL 開発を開始するつもりです。

かなり苦労せずにインストールできました ワンプサーバー Windows マシン上で開発環境を立ち上げて実行する必要がありますが、ターゲットとするプラットフォームはおそらく Linux になるでしょう。そこで質問なのですが、Linux をターゲットにしながら Windows で開発すると問題が発生する可能性はありますか?LAMP アプリを開発するための Linux 環境のセットアップに投資することをお勧めしますか?

役に立ちましたか?

解決

できれば、ある種のLinux、または少なくとも* nixの開発環境に投資します。単純なアプリケーションとWebサイトの場合、セットアップは問題ありませんが、デプロイすると最終的に微妙な違いが発生します。

Windows環境にこだわる場合に注意したいことを、ここに挙げておきます。

  1. ファイルパス。多くのPHP関数は、引数としてファイルパスを使用します。ウィンドウのバックスラッシュ()セパレーターは使用しないでください。 Windowsを使用している場合でも、PHPではスラッシュ区切り文字を使用できます。理想的には、これを独自のファイルパスクラスで抽象化します。

  2. Apacheモジュール、PECL拡張。 Apache WindowsとApache Unixには、デフォルトでインストールされるApaceモジュールの異なるセットが付属していることがよくあります。また、同じプラットフォームのモジュールは、異なるプラットフォームで異なる動作をする場合があります。アプリケーションがapacheモジュール any に依存している場合は、両方のプラットフォームで使用できることを確認してください。 PHPカスタム拡張(PECL)についても同様です

  3. プロセス分岐。 Webアプリでexec、 `などを使用することは、最初は悪い考えですが、これらの関数を使用している場合、ウィンドウと* nix

  4. の間で動作が異なります。
  5. ファイルの書き込み、ロックなどの動作が異なります

  6. メールは両方のプラットフォームで異なる方法で処理されます

  7. PHPグループのWindows用のコードワードは<!> quot;一部のプラットフォーム<!> quot;です。 を自分でさらに調査できます。 必要に応じて

一般に、開発環境が本番環境に近いほど、環境/デプロイメント関連の問題は少なくなります。

役立つことを願っています!

他のヒント

私はここ数年それをやっており、まだ何の問題にも遭遇していません-移植性のあるコードを書くことを強制することであなたに利点をもたらします。

許可と、Windowsでファイル名の大文字と小文字が区別されないという事実は、私が考えることができる2つのことです。しかし、彼らは

  1. 最悪の場合、ftpクライアントを使用してアクセス許可を変更できます。
  2. 優れたプログラマーを作成するための優れた簡単な方法(小さな方法です、はい)。

いいえ、ワンプで開発してランプで実行するのは問題ありませんが、少なくともステージはランプで行います。私はどちらの方法でも多くの問題なく進みました (以前は、WAMP にエンタープライズ サイトをデプロイする際に多くの問題がありました (PHP ISAPI フィルターを使用しないでください) が、現在は解決可能です (fastcgi))。Windows でサポートされていないと記載されている PECL モジュールを追加しない限り、問題は発生しません。また(WAMPを使用していると述べているので、MySqlを使用していると思います)、mssqlとPHPには多くの問題があります(必要な古いドライバーにより、クエリの長​​さが大幅に制限されます)。

理論的には、PHPとMySQLは完全にプラットフォームに依存しないはずです。

実際には、実際のプロダクションアプリケーションを使用する場合は、サプライズを避けるために、プロダクション環境をミラーリングするテスト環境を用意することをお勧めします。

はい、可能な限り本番環境に近い環境で開発することをお勧めします。 Linuxと比較して、WindowsでのPHPの動作には違いがあります。また、Windowsと比較して、Linuxがファイル許可を処理する方法など、その他の違いもあります。 Linux仮想マシンで無料のVMWareサーバーを実行しています。 Linux VMにWindowsのネットワークドライブとしてマウントするSamba共有があります。次に、Windows上のEclipseをコードエディターとして使用します。

L = "nofollow noreferrer"> System() / Exec 呼び出し、および通常は非常にまばらに使用する必要があるため、良いことです。

これらのタスクを処理する必要がある場合は、LAMPサンドボックスを用意して、構成ファイルの検索場所と編集方法を把握し、サービスの再起動、スケジュールされたジョブの処理などに慣れることができます。生産。

いいえ。
VirtualBox +共有フォルダは、週末に約6〜8時間の空きがあり、VBoxの基本をすべて明確にして設定がうまくいった場合に便利です。 Linuxに切り替える場合、プロセスには最大1か月かかることがあり、その間、実稼働コードの面で非常に非生産的になります。
[PCLinuxOS、CentOS、OpenSuse、Ubuntu]のいずれかを使用して、切り替える前に、事前にVBox for WindowsでLinuxを練習し続けることをお勧めします。 CentOS、PCLinuxOSが好きです。 SLAMPPと呼ばれるgemとXAMPPと呼ばれるもう1つの美しさ<!> lt;-LinuxとWindowsで動作します。
IMOは、おおよその推測として、プロジェクトごとに2000〜3000行のコード(作成/追加)をコーディングする場合、6か月から1年の間、VBoxを使用してWindowsとマスターLinuxに固執します。
それ以上の場合、またはクールな新しいLAMP Webサイトを作成する予定がある場合は、最初にLinuxに切り替える必要があると思います。 Linuxに慣れるにはさらに1か月かかります。できるだけ早くデュアルブートまたはVBoxでシャッフルできます。できるだけ早く開始します。LAMPアプリをデバッグするのに十分なLinuxを学習するには時間がかかります。

パス、パスに注意してください。完全なcmsを構築できますが、パスのために混乱します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top