「PHP/開発環境」の版間の差分
削除された内容 追加された内容
編集の要約なし |
→PHPのプログラミング学習環境: PHPは動的なウェブページを構築することを大きく意識したプログラミング言語で、開発用のウェブサーバーを内蔵しています。 このため、特にApache HTTP Server/nginxやh2oなどでウェブサーバー環境を構築することなく、プログラミングの学習を開始できます。 実際の運用に開発用の内蔵ウェブサーバーを使うことは、パフォーマスやセキュリティの問題から非推奨ですが、ウェブサーバーとPHP処理系を連携するセットアップ(相応のネットワーク管理とシステム管理者権限とPHPの知識が必要)はハードルを高くしてしまうので、学習の開始には内蔵ウェブサーバーを使うのが良い選択でしょう。 タグ: 2017年版ソースエディター |
||
1 行
== PHP
PHPは動的なウェブページを構築することを大きく意識したプログラミング言語で、開発用のウェブサーバーを内蔵しています。
このため、特に[[W:Apache HTTP Server|Apache HTTP Server]]/[[W:nginx|nginx]]や[[W:H2O (Webサーバ)|h2o]]などでウェブサーバー環境を構築することなく、プログラミングの学習を開始できます。
実際の運用に開発用の内蔵ウェブサーバーを使うことは、パフォーマスやセキュリティの問題から非推奨ですが、ウェブサーバーとPHP処理系を連携するセットアップ(相応のネットワーク管理とシステム管理者権限とPHPの知識が必要)はハードルを高くしてしまうので、学習の開始には内蔵ウェブサーバーを使うのが良い選択でしょう。
=== いまの環境にPHPがインストールされているか? ===
いまの環境にPHPがインストールされているか確認しましょう。
コマンドラインから
php -v
を実行します
PHP 8.1.9 (cli) (built: Aug 15 2022 09:39:52) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.9, Copyright (c) Zend Technologies
with Zend OPcache v8.1.9, Copyright (c), by Zend Technologies
:のように表示されていたらPHPはインストールされています。
:: [[#内蔵ウェブサーバーを使ってみる]]に進んでください。
もし
php: Command not found.
:のようの表示されたら、PHPはインストールされていません。
:次のような手順でPHPをインストールしてください。
== 使用するオペレーションシステム ==
PHPは多くのUnixとUnix互換OS、とWindowsのようなUnix非互換OSで動作します。
=== Windows ===
[https://windows.php.net/download/ 公式のWindows向けダウンロードページ]にビルド済みバイナリーが提供されています。
もしあなたが、Microsoft Visual Studio を使っているのであれば、Visual Studio Marketplace から、[https://marketplace.visualstudio.com/items?itemName=DEVSENSE.PHPToolsforVisualStudio2022 PHP Tools for Visual Studio 2022]をインストールすることで、Visual Studio に統合された、PHP開発環境を使用できます。
もしあなたが、Visual Studio code(vscode)を使っているのであれば、Visual Studio Marketplace から、[https://marketplace.visualstudio.com/items?itemName=DEVSENSE.phptools-vscode PHP Tools for Visual Studio Code]をインストールすることで、vscode に統合された、PHP開発環境を使用できます。
=== macOS ===
PHP は macOS X (10.0.0) から macOS Monterey (12.0.0) までの macOS にバンドルされています。デフォルトのウェブサーバーでPHPを有効にするには、Apacheの設定ファイルhttpd.confの数行をアンコメントする必要がありますが、CGIやCLIはデフォルトで有効になっています(ターミナルプログラムで簡単にアクセスできます)。
macOS Monterey 以降は、標準ではバンドルされていないので、[https://brew.sh/ homebrew] を使ってインストールするか、ソースコードからビルドします。
brew install php
=== FreeBSD ===
ports/pkg コレクションに lang/php81 lang/php81-extensions があります。
portmaster でビルドしインストール
# portmaster lang/php81 lang/php81-extensions
pkg でビルド済みバイナリーをインストール
# pkg install lang/php81 lang/php81-extensions
=== GNU/Linux ===
多くのGNU/Linuxのディストリビューションでは、PHPが標準でインストールされています。
くわしくは、利用中のディストリビューションとパッケージマネージャーのマニュアルを参照してください。
== テキストエディター ==
Windows の「メモ帳」(notepad.exe)のようなプレーンテキストの編集できるエディターが必要です。
HTMLの編集ができる環境であれば、そのまま使えます。
== 内蔵ウェブサーバーを使ってみる ==
内蔵ウェブサーバーは、アプリケーションの開発を支援するために設計されています。また、テスト目的や制御された環境で実行されるアプリケーションのデモにも有用です。このサーバーは、フルスペックのウェブサーバーではありません。<u>公共のネットワークで使用することはできません。</U>
内蔵ウェブサーバーの起動
% mkdir -p ~/public_html
% cd ~/public_html
% php -S localhost:8000
[Sun Dec 4 11:28:00 2022] PHP 8.2.0RC7 Development Server (http://localhost:8000) started
:のように起動します。
::<code>localhost:8000</code>は、ネットワークからアクセスできないホストにローカルなアドレスのポート8000でウェブブラウザーからのアクセスを待ちます。
::<code>localhost</code>を<code>0</code>に変えると到達可能な全てのホストからアクセス可能になります。
::本来のHTTPのポート 80 は、システム管理者権限がないと開けないので、8000に仮にしました。
::ポート8000 が衝突していたら、 8080…8888 のような上のポートに逃げるのが良いでしょう。
終了するには
^C
: CTRLを押しながら C をタイプします。
1行だけのプログラムを入力しサーバーを起動します。
echo '<?php phpinfo() ?>' > phpinfo.php
php -S localhost:8000
[Sun Dec 4 11:28:00 2022] PHP 8.2.0RC7 Development Server (http://localhost:8000) started
ここで、<code>http://localhost:8000/phpinfo.php</code>をウェブブラウザーで開くと、PHPの諸元が表示されます。
ターミナルを見ると
[Sun Dec 4 11:34:22 2022] PHP 8.2.0RC7 Development Server (http://localhost:8000) started
[Sun Dec 4 11:34:36 2022] 153.187.15.4:8864 Accepted
[Sun Dec 4 11:34:36 2022] 153.187.15.4:7852 Accepted
[Sun Dec 4 11:34:36 2022] 153.187.15.4:8864 [200]: GET /phpinfo.php
[Sun Dec 4 11:34:36 2022] 153.187.15.4:8864 Closing
[Sun Dec 4 11:34:42 2022] 153.187.15.4:7852 Closed without sending a request; it was probably just an unused speculative preconnection
[Sun Dec 4 11:34:42 2022] 153.187.15.4:7852 Closing
のように内蔵ウェブサーバーとウェブブラウザーの様子が表示されます。
サーバー停止
^C
コマンドラインから phpinfo.php を実行(先頭五行)。
% php phpinfo.php | head -5
phpinfo()
PHP Version => 8.2.0RC7
System => FreeBSD localhost 13.1-STABLE FreeBSD 13.1-STABLE #0 6480563d0: Thu Aug 25 19:34:52 JST 2022 root@localhost:/usr/obj/usr/src/amd64.amd64/sys/SV1G amd64
Build Date => Dec 2 2022 13:42:14
おなじコードでも、ウェブサーバーからの実行と、コマンドラインからの実行で出力に違いがありますが、実行そのものはできています。
;まとめ
:学習のために、内蔵ウェブサーバーを使います
:内蔵サーバーは、<code>php -S localhost:8000</code>で起動し、カレントディレクトリーにあるコンテンツが公開されます。
:内蔵サーバーは、CTRL-Cで終了します。
[[Category:PHP|かいはつかんきよう]]
|