ホームページ バックエンド開発 PHPチュートリアル シェル スクリプト PHP チュートリアル: PHP でのシェル スクリプトの使用方法を共有する

シェル スクリプト PHP チュートリアル: PHP でのシェル スクリプトの使用方法を共有する

Jul 29, 2016 am 08:48 AM
シェルスクリプト

コマンド言語として、ユーザーが入力したコマンドを対話的に解釈して実行したり、一連のプリセット コマンドを自動的に解釈して実行したり、プログラミング言語としてさまざまな変数やパラメーターを定義し、独自の多くの高レベルの制御構造を提供します。ループや分岐を含む言語。
PHPが長い間発展してきたので、多くのユーザーはPHPをよく知っています。ここで私の個人的な理解を表明し、皆さんと議論します。ほとんどの場合、すべてに exec() コマンドとデータ配列を使用します。または、特に結果を気にしない場合は、より単純なコマンドに shell_exec() を使用します。 PHP シェル スクリプトを返す必要があるだけの場合は、 passthru() を使用します。さまざまな機会に異なる機能を使用することがよくあり、場合によってはそれらを交換可能です。
それはすべて私の気分と私が達成したいことによって異なります。もう 1 つの質問は、「彼らの強みは何ですか?」ということです。まったく手がかりがない場合、またはシェル コマンドを使用するのに最適なプロジェクトはあるものの、その使用方法がわからない場合は、ここでいくつかの洞察を提供します。さまざまなバックアップまたはファイル転送機能を提供するアプリケーションを作成している場合は、shell_exec() またはここで提供されている他のコマンドの 1 つを使用して、rsync がサポートされている PHP シェル スクリプトを実行することを選択できます。 PHP シェル スクリプトを作成して必要な rsync コマンドを組み込み、passthru() を使用してユーザーのコマンドまたは cron ジョブに基づいて実行できます。
たとえば、アプリケーションで適切な権限(管理者権限など)を持つユーザーが、あるサーバーから別のサーバーに 50 個の PDF ファイルを送信したいとします。次に、ユーザーはアプリケーション内の正しい場所に移動し、「転送」をクリックし、送信する必要がある PDF を選択して、「送信」をクリックする必要があります。その過程で、フォームには、次に示すように return オプション変数を使用して passthru() 経由で rsync スクリプトを実行する PHP スクリプトが含まれる必要があります。
リスト 1. passthru() を通じて rsync スクリプトを実行するサンプル PHP スクリプト

コードをコピーします コードは次のとおりです。

if ($ returnvalue != 0){

//問題があります!
//ここにエラーコードを追加します
}else{
//大丈夫です
//他のページにリダイレクトします
}
?>

プロセスやファイル、またはそれらのプロセスやファイルに関するデータを一覧表示する必要があるアプリケーションの場合は、この記事でまとめたコマンドの 1 つを使用してこれを簡単に実行できます。たとえば、単純な grep コマンドは、特定の検索条件に一致するファイルを見つけるのに役立ちます。これを exec() コマンドとともに使用すると、結果が配列に保存され、HTML テーブルまたはフォームを構築できるようになり、さらに他のコマンドを実行できるようになります。
これまで、ユーザー生成イベントについて説明してきました。ユーザーがボタンを押すかリンクをクリックするたびに、PHP は対応するスクリプトを実行します。スタンドアロンの PHP スクリプトを cron または他のスケジューラーとともに使用して、興味深い効果を実現することもできます。たとえば、バックアップ スクリプトがある場合は、cron 経由で実行したり、PHP スクリプトにパッケージ化して実行したりできます。
なぜこれを行うのですか? 冗長だと思われませんか? そうではありません。このように考える必要があります。exec() または passthru() を介してバックアップ スクリプトを実行し、それに基づいて何らかの動作を実行できます。リターンコード。エラーが発生した場合は、エラー ログまたはデータベースにログを記録したり、警告電子メールを送信したりできます。スクリプトが成功した場合は、生の出力をデータベースにダンプできます (たとえば、rsync には冗長モードがあり、後で問題を診断するのに役立ちます)。
セキュリティ

ここでセキュリティについて簡単に説明します。ユーザー入力を受け入れて情報をシェルに渡す場合は、ユーザー入力をフィルターした方がよいでしょう。 sudo (スーパーユーザーとして実行) や rm (削除) など、有害で許可されていないと思われるコマンドを削除します。実際には、おそらくユーザーにオープンリクエストを送信させるのではなく、リストから選択させることを望んでいるでしょう。
たとえば、ファイルのリストを引数として受け取る転送プログラムを実行する場合は、一連のチェックボックスを使用してすべてのファイルをリストする必要があります。ユーザーは、[送信] をクリックしてファイルを選択および選択解除し、rsync シェル スクリプトをアクティブにすることができます。ユーザーは自分でファイルを入力したり、正規表現を使用したりすることはできません。
この記事ではPHPシェルスクリプトの使い方を2つの側面から紹介していますので、ご参考になれば幸いです。
以上、PHP でシェル スクリプトを使用する方法を共有するシェル スクリプト PHP チュートリアルを紹介しました。シェル スクリプトの内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ESDファイルをISO形式に変換する方法 ESDファイルをISO形式に変換する方法 Feb 19, 2024 am 08:37 AM

esd ファイルは Windows オペレーティング システムで使用される圧縮形式であり、ISO ファイルはディスク コピーまたは仮想光学ドライブの作成に使用されるディスク イメージ ファイルです。 esd ファイルを iso ファイルに変換する必要がある場合、ISO ファイルの方が一般的に使用されており、使いやすいためかもしれません。以下では、この変換プロセスを完了するための一般的な方法をいくつか紹介します。方法 1: ESDDecrypter を使用する ESDDecrypter は、esd ファイルを復号化して iso ファイルに変換するために特別に使用されるプログラムです。

Linuxシステムで.shファイルを実行するにはどうすればよいですか? Linuxシステムで.shファイルを実行するにはどうすればよいですか? Mar 14, 2024 pm 06:42 PM

Linuxシステムで.shファイルを実行するにはどうすればよいですか? Linux システムでは、.sh ファイルはシェル スクリプトと呼ばれるファイルであり、一連のコマンドを実行するために使用されます。 .sh ファイルの実行は非常に一般的な操作です。この記事では、Linux システムで .sh ファイルを実行する方法と具体的なコード例を紹介します。方法 1: 絶対パスを使用して .sh ファイルを実行する Linux システムで .sh ファイルを実行するには、絶対パスを使用してファイルの場所を指定できます。具体的な手順は次のとおりです。 ターミナルを開きます。

Linux ルート ファイル システムの秘密 Linux ルート ファイル システムの秘密 Feb 15, 2024 pm 01:42 PM

Linux は、サーバー、デスクトップ、組み込みデバイスなどのさまざまな分野で広く使用されている、オープンソースでポータブルなカスタマイズ可能なオペレーティング システムです。 Linux の中核はカーネルであり、ハードウェア リソースの管理と基本サービスの提供を担当します。ただし、カーネルは独立したエンティティではなく、さまざまなデータやプログラムを保存しアクセスするためにファイル システムを必要とします。ファイル システムは、ファイルを整理および管理する方法であり、ファイルの名前、場所、属性、権限、およびその他の情報を定義します。 Linux には、ext4、xfs、btrfs など、さまざまな種類のファイル システムがあり、それぞれに独自の特徴と利点があります。ただし、すべてのファイル システムの中に、Linux システムの基盤および中核となる特別なファイル システムがあります。

Windows 7 で Bat ファイルを実行できないのはなぜですか? Windows 7 で Bat ファイルを実行できないのはなぜですか? Feb 19, 2024 pm 03:19 PM

win7 で butt ファイルを実行できないのはなぜですか? 最近、Windows7 オペレーティング システムを使用している多くのユーザーが .bat ファイルを実行できないと報告しています。これは広範な議論と混乱を引き起こしました。正常に機能するオペレーティング システムが単純な .bat ファイルを実行できないのはなぜですか?まず、.bat ファイルの背景を理解する必要があります。バッチ ファイルとも呼ばれる .bat ファイルは、Windows コマンド インタープリタ (cmd.ex) で使用できる一連のコマンドが含まれるプレーン テキスト ファイルです。

初心者向けの Windows PowerShell スクリプト チュートリアル 初心者向けの Windows PowerShell スクリプト チュートリアル Mar 13, 2024 pm 10:55 PM

この Windows PowerShell スクリプト チュートリアルは、テクノロジ愛好家でも、スクリプト スキルの向上を目指す専門家でも、初心者向けに設計されています。 PowerShell スクリプトに関する予備知識がない場合は、この記事は基本から始めて、あなたに合わせてカスタマイズしてください。 PowerShell 環境のインストール手順をマスターし、PowerShell スクリプトの主な概念と機能を説明します。 PowerShell スクリプトについてさらに学ぶ準備ができている場合は、このエキサイティングな学習の旅に一緒に乗り出しましょう。 WindowsPowerShell とは何ですか? PowerShell は、Microsoft によって開発されたハイブリッド コマンド システムです。

PowerShell を使用してタスクを自動化する方法 PowerShell を使用してタスクを自動化する方法 Feb 20, 2024 pm 01:51 PM

IT 管理者またはテクノロジーの専門家であれば、自動化の重要性を認識している必要があります。特に Windows ユーザーにとって、Microsoft PowerShell は最高の自動化ツールの 1 つです。 Microsoft は、サードパーティのアプリケーションをインストールする必要なく、自動化のニーズに対応するさまざまなツールを提供しています。このガイドでは、PowerShell を活用してタスクを自動化する方法について詳しく説明します。 PowerShell スクリプトとは何ですか? PowerShell の使用経験がある場合は、コマンドを使用してオペレーティング システムを構成したことがあるかもしれません。スクリプトは、.ps1 ファイル内のこれらのコマンドの集合です。 .ps1 ファイルには、基本的な Get-Help など、PowerShell によって実行されるスクリプトが含まれています。

URLファイルの開き方 URLファイルの開き方 Mar 28, 2024 pm 06:27 PM

URL ファイルを使用してインターネット リソースを開く方法には、次のようなものがあります。 Web ブラウザを使用してダブルクリックして開きます。テキスト エディタで開き、リンク アドレスをコピーしてブラウザのアドレス バーに貼り付けます。コマンド ラインから、「start」または「open」コマンドを使用して URL ファイル パスを指定します。 URL ファイルを開くコマンドを含むスクリプト ファイルを作成します。

Linux では CPU 使用率はどのように計算されますか? Linux では CPU 使用率はどのように計算されますか? Feb 15, 2024 am 11:15 AM

オンライン サーバー上のオンライン サービスの実行ステータスを観察する場合、ほとんどの人は最初に top コマンドを使用して、現在のシステムの全体的な CPU 使用率を確認することを好みます。たとえば、ランダムなマシンの場合、top コマンドによって表示される使用率情報は次のとおりです。 この出力結果は言うのは簡単ですが複雑で、すべてを理解するのはそれほど簡単ではありません。例: 質問 1: top によって出力される使用率情報はどのように計算されますか? それは正確ですか?質問 2: ni 列は便利ですが、処理時の CPU オーバーヘッドを出力します。質問 3: wa は iowait を表します。この期間中、CPU はビジーですか、それともアイドルですか?今日は、CPU 使用率の統計について詳しく調査します。今日の学習を通じて、あなたは理解するだけでなく、

See all articles