5

数か月後に PHP でプロジェクトを開始しましたが、いつものように Windows Vista 64 ビット マシンで開発することをためらっています。私は Linux に関する知識がほとんどないので、Linux ディストリビューションに取り組んで学習するのは良い方法だと思います。

それは良い考えだと思いますか?UbuntuでVirtualBoxを実行します(Vista64ビットで)。PHPで開発できるようにXAMPPをインストールしようと考えていました。

良いアイデアだと思われる場合は、OS または Linux/dev の仮想化について知っておくべきことについてのチュートリアルを提案してください。

更新 私は Windows で PHP で多くの Web サイトを構築しました。問題は、仮想マシンを介して Linux で開発することで Linux の学習を開始する良い方法であるかどうかです。4 GB の RAM を持っていますが、仮想マシンに Eclipse をインストールするとスムーズですか? 等

4

13 に答える 13

5

PHPはどのプラットフォームでも同じでなければならないためどこで開発するかは問題ではありません。

しかし、私の経験と観察では、PHP を実行しているサイトは Windows よりも Linux で実行されています。

Ubuntu や Fedora などで Apache と PHP をセットアップするのは簡単で、すべてをテストするのも非常に簡単です。

また、サイトを公開する場合、どのプラットフォームで実行されますか? 可能な限り、それが実行されるプラットフォームで開発を行うことを好みます。

于 2008-10-06T17:58:39.770 に答える
5

展開するのと同じプラットフォームで実際に開発する必要があります。別のやり方をするのが悪いと言っているわけではありませんが、長い目で見れば多少の苦痛を和らげることができます。OTOH、プラットフォームの違いについてより早く学ぶことができます。ですから、主な質問は次のとおりです。あまり頭を悩ませずに、本番システムをできるだけ早く実行したいですか? それとも、クロスプラットフォームのものを開発する方法を学ぶために時間を費やして努力したいですか?

はい、違いがあります。たとえば、大文字と小文字を区別するファイル名と大文字と小文字を区別しないファイル名です。次に、一部の PHP 関数は、実装が異なるネイティブ C 関数を使用します。たとえば、printf() は、一部の型に対して同じ量の空白を生成しません。時間測定の解像度 (ミリ秒とマイクロ秒) は異なる場合があります。その場合、ファイルシステムのアクセス許可を処理する方法が異なります。これらは、頭のてっぺんから思い出すことができる最近のいくつかの問題です。

于 2008-10-06T19:59:53.600 に答える
3

個人的には、ローカル プロダクションで VM を使用する必要はないと思います。VM 内でも IDE を実行しますか?

Windows 環境と Linux 環境の間を移動する際の落とし穴 (大文字と小文字の区別やアクセス許可など) を十分に認識している場合は、Windows での開発と Linux への展開に問題はないはずです。

于 2008-10-06T17:58:41.940 に答える
3

Linux ディストリビューションで作業することは、それを学ぶための最も簡単な方法です。そして、いくつかのサーバーをセットアップし、いくつかの開発作業を行うことは、素晴らしいスタートです.

Linux の仮想化も非常に簡単です。私はそれをかなりの回数やったことがありますが、それは本当に明白です。また、この方法を使用すると、Linux の使用が容易になります。私のようにワイヤレス カードがサポートされていないことをただ飛び込んで見つけるよりもはるかに優れています :)

Linux での PHP 開発については... Windows と Linux で PHP コーディングを行ったことがありますが、この 2 つの違いはほとんどありません。私は両方のプラットフォームで Eclipse を使用し、Apache と MySQL / XAMPP を使用しています。私が見た唯一の大きな違いは、Linux はパーミッションと大文字と小文字の区別がはるかに難しいということです。

于 2008-10-06T18:00:44.493 に答える
2

PHP はすべてのプラットフォームで同じというわけではなく、ごく最近まで Windows バージョンには Linux バージョンでは見られなかった問題がありました。多くの便利な機能は *nix 固有です。

デプロイメント環境での開発に関する @Milan の意見に同意します。そうすることで、デプロイメント環境についてさらに多くのことを学ぶことができます。

VM の問題では、すべての Windows ツールと Windows マシンが必要な場合は、VM に Linuxサーバーをセットアップします (必要に応じて GUI を使用できますが、主にサーバーとして使用します)。Windows が VM で実行されている Apache インストールを表示できるように設定し、samba 共有を使用して Windows のドライブのように VM のファイルにアクセスします。そうすれば、Windows で開発しますが、実行中の Linux サーバーで展開/セットアップをテストします。私の店の 2 人の開発者は Ubuntu を実行していますが、3 番目の開発者は Photoshop やその他のさまざまな Windows ソフトウェアを常に使用する必要があるため、VM でサーバーを実行しながら Windows から開発するこの方法を使用しています。

ああ、Linux で実行している場合は、XAMPP を使用しないでください。いくつかの簡単なコマンドを実行するだけで、デプロイをよりよく理解できるようになります。XAMPP は問題ありませんが、Linux のパッケージ管理機能を持たない OS 向けです。

于 2008-10-06T21:10:23.723 に答える
1

一般的に、私は Windows 環境よりも Linux 環境の方が好きです。主な理由は、必要なすべての CLI ツールが提供され、Bash がいつでも cmd.ext を凌駕するからです。しかし、Cygwin を使用すると、Windows でも快適な開発環境を見つけることができます。

PHP 開発に関しては、それがどのように大きく異なるのか、私にはよくわかりません。ブース システムを使用している場合、コードの移植性を高めること (行末、ファイル名のスラッシュなど) を強制することには、何らかの利点があるかもしれません。

デスクトップまたはワークステーションとして、両者の間に大きな違いはありません。最大の違いはそれらを管理する方法にあると思いますが、他の人があなたのためにそれを行ってくれることを願っています.

于 2008-10-06T19:20:40.247 に答える
1

原則として、実際のプロジェクトでは「実行による学習」を行うことはお勧めしません。ただし、それが非常に小規模であるか、以前に非常に類似したプロジェクトを行ったことがある場合を除き、プロジェクト関連の問題の学習曲線が急勾配になることはありません。その場合、開発環境について学ぶための無料のリソースがあるかもしれません。

于 2008-10-06T18:15:28.100 に答える
1

XAMPPはうまく機能しますが、Linux で Apache と PHP を実行することは当然のことです。Windowsでは、それはあなたがしなければならない特別なことです...そしてサポートします。また、スタックのほとんどの部分は、POSIX 環境向けにはるかに最適化され、成熟しています。データベース エンジンのパフォーマンスは、使用可能なプリミティブに特に影響されます。

ほとんどの OSS は Windows 上で実行されますが、それは四角い穴に突き刺さった丸いペグです。

于 2008-10-06T18:03:53.770 に答える
0

VmWare Player を使用して開発環境を作成してみてください。Vista ラップトップで実行する Linux 環境がいくつかあります。デュアルブートだけでもかまいません。私はUbuntuを使用していますが、簡単です。

于 2008-10-08T06:07:08.757 に答える
0

私の意見では、Linux ディストリビューションで開発する必要はありません。Web 開発は、どの OS からでも実行できます。よくわかりませんが、なぜあなたはウェブ用にプログラミングをしているのですか...プロとして?個人のホームページに?PHP サーバーを実行する無料の Web スペースを取得し、そこにファイルをアップロードするだけで十分だと思います。時間もかからず、管理するものも少なくなります。

ドイツの学生 ;)

于 2008-10-06T18:03:24.520 に答える
0

展開サーバーが実行される OS を使用します。Linux である可能性が非常に高くなります。私は最近、wampserver を使用して開発され、CentOS に展開されたため、展開が非常に悪いものになるのを見てきました。Apache と PHP の構成に大きな違いがあります。そのため、展開サーバーを把握し、できるだけ一致させてください。

于 2008-10-06T18:11:11.057 に答える