PHP サイトを構築しようとしていますが、ホストにアップロードせずに PHP ファイルをテストしたいと考えています。基本的に、アップロードする前に自分のマシンでテストします。それ、どうやったら出来るの?
13 に答える
最近では、PHP 5.4 以降にはWeb サーバーが組み込まれています。
ターミナルから次のコマンドを実行するだけです。
cd path/to/your/app
php -S 127.0.0.1:8000
次に、ブラウザhttp://127.0.0.1:8000
でブームに移動すると、システムが起動して実行されているはずです。(これが機能するには、index.php または index.html ファイルが必要です。)
シンプルなルーターを追加することもできます
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
require_once('resolver.php');
}
?>
そして、コマンドを実行します
php -S 127.0.0.1:8000 router.php
参考文献:
XAMPP をインストールして実行します: http://www.apachefriends.org/en/xampp.html
これは、php サーバーをローカルで実行するための簡単で確実な方法です。
php -S 0.0.0.0:<PORT_NUMBER>
PORT_NUMBER は 1024 から 49151 までの整数です
例: php -S 0.0.0.0:8000
ノート:
localhost
ではなく使用すると0.0.0.0
、接続拒否エラーが発生する場合があります。任意のインターフェイスから Web サーバーにアクセスできるようにする場合は、 を使用します
0.0.0.0
。URI リクエストでファイルが指定されていない場合、指定されたディレクトリ内の index.php または index.html が返されます。
次のファイル (router.php) があるとします。
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>
これを実行...
php -S 0.0.0.0:8000 router.php
...ブラウザでhttp://localhost:8000/に移動すると、次のように表示されます。
Welcome to PHP
参照:
私はWAMPを使用しています。1 つの簡単なインストール ウィザード、Apache および PHP 用の多数のモジュールが事前構成されており、リモート構成に合わせてオンとオフを簡単に切り替えることができます。
PHP、MySQL、および Web サーバーのさまざまなバージョンから選択でき、Docker の使用を恐れないオペレーティング システム用の多目的ローカル開発スタックが必要な場合は、devilboxを使用できます。
Devilbox は、完全な LAMP と MEAN をサポートし、すべての主要なプラットフォームで実行される、高度にカスタマイズ可能な最新の Docker 化された PHP スタックです。主な目標は、ローカル開発に必要な任意のバージョンを簡単に切り替えて組み合わせることができるようにすることです。vhost と DNS レコードが自動的に作成されるプロジェクトを無制限にサポートします。メールキャッチオールや人気の開発ツールもご利用いただけます。すべてが一括仮想ホスティングで事前にセットアップされているため、構成は必要ありません。
起動して実行するのは非常に簡単です。
# Get the devilbox
$ git clone https://github.com/cytopia/devilbox
$ cd devilbox
# Create docker-compose environment file
$ cp env-example .env
# Edit your configuration
$ vim .env
# Start all containers
$ docker-compose up
リンク:
- Github: https://github.com/cytopia/devilbox
- ウェブサイト: http://devilbox.org
MAC MAMP を使用している場合はMAMP
Windows を使用している場合は、WPN-XM サーバー スタックが適切な代替手段になる可能性があります。
Apache Friends XAMPPを使用します。Apache HTTP サーバー、PHP 5、および MySQL 5 をセットアップします (私の知る限り、おそらくそれ以上のものがあるでしょう)。それを使用するために apache (またはいずれかのモジュール) を構成する方法を知る必要はありません。
Apache が提供する htdocs ディレクトリ ( http://localhost/でアクセス可能) が作成され、そこに PHP ファイルを配置できるはずです。私のインストールでは、C:\xampp\htdocs にあります。
適切なソフトウェア (PHP をサポートする Web サーバー) を備えたローカル マシンがある場合、説明したとおりにできない理由はありません。
現在、Windows XP マシンで XAMPP を使用しており、(自宅では) Kubuntu と LAMP スタックを使用しています。
別のオプションはZend Server Community Editionです。