2009-04-02 15 views
2

私は、もともとLAMPホストに配備されていた既存のPHPアプリケーションを提供されています。
私たちのチームのほとんどは.Net開発者であるため、上司はWindows環境に展開したいと考えています。クロスプラットフォームPHPの警告?

これはちょうどうまくいくと思うのは嬉しいですか?

ここでLAMPホストのいくつかの追加情報です。でも、一つだけからの移行

  • のLinux 2.4.32
  • PHP 5.2.6
  • はありません、デフォルト以外のモジュール
+0

詳細情報を提供できますか?これは、あなたのアプリが何をするか、そしてPHPのバージョンに大きく依存します。 –

+0

Apacheのバージョンも問題になるかもしれません... – jmucchiello

答えて

1

私の経験では、それはうまくいき、うまく動作します。私は心に留めておくと思います 最も重要なものは以下のとおりです。Windows上

  1. 使用のApache、
  2. は、UNIXスタイルのディレクトリのスラッシュ使用していることを確認します(それが可能だとしても)IISを使用しないでください。これらは両方のプラットフォームで動作します。
  3. 大文字と小文字の区別には十分注意してください。 Windowsは大文字と小文字を区別しないため(大文字と小文字は区別されます)、ファイルを含めて間違った綴りで入力すると、Windows上で動作し、Linuxで失敗します。
1

ヘックは、別のサーバーにホストされているサーバーには、通常、いくつかの調整と調整が必要です。私はWindows環境でそれをやらなければならないということははるかに異なっているとは思わない。私は先週、大規模なPHPアプリケーションの移行に招待され、私たち(3人)は約半日で作業を開始することができました。

1

これはアプリケーションで何が行われているかによって異なります。しかし、アプリケーションがファイルシステム内のファイルを探す場所(Linux固有のパスを使用していますか?)と、Windowsが(特にPECLの)PHPモジュールをビルドしているところがあります。

1

execと呼ばれることはありません。これを使用する非常に怠惰なコードがたくさん書かれていますが、明白な理由から移植がうまくいかないかもしれません。私は長年にわたって経験してきたもの

1

一部:

  • 新/古すぎるDBドライバPHP
  • パスの問題
  • のための64ビットシステムまたはその逆に32ビットから変更がPHP内部に影響を及ぼし
  • ロケールとローカライゼーションの問題
  • 機能が欠落している(通常、手動ではウィンドウ内で動作しない、または差別的に動作することに注意してください)
  • ファイル名ケース

、常にチェックし、ApacheモジュールとPHPモジュールが古いシステムのように、少なくとも同じバージョンであることを再確認。

Windows上で仮想化されたGNU/Linuxを実行するには、VMWareなどのコードをWindowsで動作させたくないと思われる場合は、あまりにも悪くないです。