第1回 なぜPHPプログラマにLinuxの知識が必要か - Linux入門講座

PHP基礎編

はたぴょん先生のLinux講座

Lecutures on PHP

第1回 なぜPHPプログラマにLinuxの知識が必要か (その1)

 このエントリーをはてなブックマークに追加

PHPとLinux

はたぴょん先生普段、皆さんはPHPでのプログラミングをWindows上で行っていると思います。気に入ったエディタ、EclipseのようなIDE(統合開発環境)など、好きなものを使って開発ができます。プログラムを書くだけなら、Windows上で全てが完結します。

とはいうものの、PHPプログラマとして必要最低限のLinuxの知識を身につけるのは、非常に大切なことです。

その理由は、PHPで作ったプログラムが動作するサーバにあります。完成したプログラムは、公開するためにWebサーバに設置されます。このサーバのほとんどは、OSにLinuxが採用されています。

「LAMP」という言葉を聞いたことがありますか?これは、Webサーバに必要なソフトウェアの組み合わせを表した言葉で、Linux・Apache・MySQL・PHPの頭文字を取ったものです。これらのソフトウェアはオープンソースソフトウェアであり、無償で提供されています。この組み合わせでの構築実績も多く、安定して稼働します。 多額の資金を投じて有償のソフトウェアで固めたシステムと比べても、性能面や安定性の面でも全く引けを取らない、オープンソースソフトウェアだけで構成されたサーバの代名詞が「LAMP」なのです。

はたぴょん先生
Linuxで稼働するサーバに単にプログラムを設置するだけなら、Windows環境の開発マシーンからFTPクライアントを使って操作することも可能です。

しかし、プログラムが正しく動作しないなど、何かしらトラブルが起きたときに、Linuxサーバを直接操作しなければ解決できないこともあります。

この講座では、そんなときのためにPHPプログラマが最低限身につけておくべきLinuxの基本操作を学びます。

なぜLinux?

なぜ、サーバOSにはLinuxが採用されていることが多いのでしょうか?実際に利用している現場の理由はさまざまですが、主に次のような理由があるようです。

  • 無償で手に入るLinuxはサーバ構築時のコストを下げる
  • コミュニティ活動が活発で、技術的な情報も得やすい
  • 問題点の修正が早い
  • メモリ消費量・動作速度などの面でWindowsより軽量
  • ソースコードが公開されていて、カスタマイズも可能
  • Windowsが持つISAPI(IISと連携するためのAPI)とPHPとの相性が悪い
  • PHPは、Apacheの方が連携性が高い
  • ApacheはLinuxで動作させることを前提として設計されている

コスト面でみてLinuxを選択しているところもあれば、「PHPを使うならWebサーバはApacheだよね、Apache使うならやっぱりLinuxだよね」という理由で選択しているところもあるようです。Windows版のApacheも開発されていますが、Linux版ほど洗練されていないのが現状です。また、Windowsサーバ上でApacheを使ってWebサイトを公開した場合、Windowsのライセンスに違反する可能性があるという問題もあり、Windows+Apacheという組み合わせに対しては多くの現場が消極的です。

また、筆者が、実際にサーバを構築していてもLinuxの方が手軽に感じます。

はたぴょん先生Linuxにはいくつかのディストリビューションがあります。ディストリビューションとは、Linuxの核の部分と追加ソフトウェアのパッケージのことを言います。

ディストリビューションについては次回詳しく説明しますが、例えば「Fedora Core」や「CentOS」という名前を聞いたことはないでしょうか?これらはLinuxディストリビューションの1つです。

Linuxディストリビューションにはサーバを構築する上で必要なソフトウェアが多く含まれます。例えばWebサーバソフトウェアであるApache、データベースのMySQLやPostgreSQLなどです。

ディストリビューションを利用すると、個別にインストールする必要なく、これらのソフトウェアがLinuxをインストールするだけで全部入ってくるのです。お手軽だと思いませんか?

  • 1
  • 2

  



Pick Up Q&A

Q
マジッククォートとmysql_real_escape_string
 このエントリーをはてなブックマークに追加 
A
magic_quotes_gpcでは、SQLインジェクション対処は十分できません。主な理由として、以下が上げられます。 ・magic_quotes_gpcは文字コードを考慮しないで処理するので、Shift_JISを使っている場合、SQLインジェ...

>>続きを読む

SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)