3

シェル コマンド ラインから PHP スクリプトを実行できるかどうか疑問に思っています。

ブラウザから実行された場合、シェルから実行されたスクリプトは正確な機能を持っていますか? またはコーディングに違いがあります。

パフォーマンスのためにシェルからスクリプトを実行する方が良いですか、また、Windows または UNIX/Linux からスクリプトを実行する方が良いですか?

MySQL データベースにリストされているいくつかの URL の http ヘッダーからいくつかのデータを取得し、データベースにデータを保存できる PHP スクリプトを開発することを想定しているため、これらすべての質問をしています。

ubuntuが必要ですか、それともWindowsからphpを実行できるシェルがありますか? 現時点でインストールしているのは、mysql、php、およびApacheサーバーを備えたWAMPだけです。

初心者で申し訳ありません。

あなたの親切な助けに感謝します

4

4 に答える 4

3

PHPスクリプトをシェルコマンドラインから実行できるかどうか疑問に思っています。

次のいずれかを実行することで可能です。

$ php -f your_script.php

または#/usr/bin/env php、スクリプトの最初の行に挿入して実行可能にします。

$ head -n 1 your_sript.php
#/usr/bin/env php
$ chmod +x your_script.php
$ ./your_script.php

注:この例は、UNIXシステムでのみ機能します。

シェルから実行されたスクリプトは、ブラウザーから実行された場合、正確な機能を備えていますか?またはコーディングに違いがありますか。

同じ構文/関数などを使用できます。唯一の違いは$argv、変数にコマンドライン引数と他のいくつかの値があること$_SERVERです。

パフォーマンスのためにシェルからスクリプトを実行する方が良いですか、また、WindowsまたはUNIX/Linuxからスクリプトを実行する方が良いですか。

それは本当に問題ではありません。ユースケースでは、Webサーバーやフル機能のGUIは実際には必要ありません。コマンドラインツールを使用する利点は、プログラムを他のプログラムと組み合わせることができることですgrep

皆さんは私を正しい方向に向けてくれませんか、ubuntuが必要ですか、それともWindowsからphpを実行できるシェルがありますか?

ubuntuは必要ありません。Windowsからシェルスクリプトを実行することもできます。PHP実行可能ファイルはにあり%PATH%ます。この質問は、これを行うために役立ちます:https ://superuser.com/questions/284342/what-are-path-and-other-environment-variables-and-how-can-i-set-or-use -彼ら

cmd.exe次に、を使用してスクリプトを開いて実行するだけです。php -f your_script.php

于 2013-02-11T09:26:29.587 に答える
3

PHPスクリプトをシェルコマンドラインから実行できるかどうか疑問に思っています。

はい

シェルから実行されたスクリプトは、ブラウザーから実行された場合、正確な機能を備えていますか?またはコーディングに違いがありますか。

$_REQUEST友達が入力されておらず、サーバー情報も含まれて$_SERVERいません。

パフォーマンスのためにシェルからスクリプトを実行する方が良いですか

多分。これにより、Webサーバーの実行によるオーバーヘッドが回避されます。再実行を高速化するために、バージョンをメモリにキャッシュする必要がなくなります。

また、WindowsまたはUNIX/Linuxから実行することをお勧めします

それをベンチマークします。

私はこれらすべての質問をしています。なぜなら、MySQLデータベースにリストされているいくつかのURLのhttpヘッダーからいくつかのデータをフェッチしてデータベースに保存できるPHPスクリプトを開発することを想定しているからです。

そのためにWebサーバーを関与させる必要はないようです。

皆さんは私を正しい方向に向けてくれませんか、ubuntuが必要ですか、それともWindowsからphpを実行できるシェルがありますか?

標準のWindowsシェルでできます。

私が現在インストールしているのは、mysql、php、apacheサーバーを備えたWAMPだけです。

PHPのコマンドラインバージョンが必要になります。WAMPに含まれているかどうかはわかりません。

于 2013-02-11T09:26:47.157 に答える
1

はい、PHP はコマンドラインから実行できます

いいえ、コーディングに違いはありません。

唯一の違いは、スクリプトを実行しているのが Apache ではなく、現在ログインしているユーザーであることです。これは、特定のマップとフォルダーに対する異なる権限を意味する可能性があります。

于 2013-02-11T09:24:03.420 に答える
1

はい、次を使用してコマンドラインから PHP を実行できます。

/path/to/php.exe /path/to/script.php

主な違いは、Apache を介して実行されないため、Apache に依存するもの (一部の$_SERVERデータなど) がないことです。

また、PHP の制限が設定されていない限り、コマンド ラインでタイムアウトが発生することもありません。

詳細については、http://php.net/manual/en/features.commandline.phpをご覧ください。

于 2013-02-11T09:24:21.500 に答える