検索
ホームページバックエンド開発PHPチュートリアルLinux_PHP チュートリアルで crontab を使用して PHP スクリプトを定期的に実行する
Linux_PHP チュートリアルで crontab を使用して PHP スクリプトを定期的に実行するJul 13, 2016 pm 05:41 PM
crontablinuxphp一度利用存在するタイミング埋め込む方法持っている脚本記録

最近この方法が緊急に必要なので、記録して時間があるときに試してください^^

Linux では、crontab + php メソッドを使用できます:

1. crontab –eを使用してスケジュールされたタスクを編集します

内容は次のとおりです:

xx:xx:xx test.phpファイルを実行します

2. php ファイルはファイルの最初の行にインタプリタのパスを加えたものでなければなりません(perl と同じように)

#!/usr/local/bin/php

PHPの実行にはApacheのサポートが必要で、シェルスクリプトの実行にはLinuxのサポートが必要で、Linuxは特定のプログラムを定期的に実行する機能をサポートしています

------------------------------------------------- - --------------

シェルスクリプト言語としてPHPを使う(再録)

--英語原文:Darrell Brogdon、http://www.phpbuilder.com/columns/darrell20000319.php3で公開

おそらく多くの人が PHP を使用して手紙のスケジュール送信などのプログラムを作成することを考えたことがあると思いますが、PHP を定期的に実行する方法はありません。PHPBuilder にアクセスしたときにこの記事を見つけたので、皆さんのために翻訳したいと思います。編集も行いました)、皆さんのお役に立てれば幸いです。

------------------------------------------------- - ---------------------------------

PHP が非常に優れた動的 Web 開発言語 (高速、短い開発サイクルなど) であることは誰もが知っています。しかし、PHP がシェル スクリプトを作成するための言語としても使用できることを認識している人はほとんどいません。PHP は、Perl や Bash ほど強力ではありませんが、特に、次のような場合に優れた利点があります。私のような人は、PHP には詳しいが、Perl にはあまり詳しくありません。

PHP をシェル スクリプト言語として使用するには、PHP を Apache モードではなくバイナリ CGI としてコンパイルする必要があります。バイナリ CGI モードで実行するように PHP をコンパイルする際には、セキュリティ上の問題がいくつかあります。解決策については、PHP マニュアル (http://. /www.php.net)。

最初はシェル スクリプトを書くのに不快に感じるかもしれませんが、徐々に上達します: PHP を一般的な動的 Web ページ作成言語として使用することと、シェル スクリプト言語として使用することの唯一の違いは、シェル スクリプトを最初の行で開始する必要があることです。このスクリプトのプログラム パスを説明します:

#!/usr/local/bin/php -q

PHPがHTTPHeaderを出力しないように、PHP実行ファイルの後にパラメータ「-1」を追加しました(それでもWeb上の動的なWebページとして使用する必要がある場合は、header関数を使用してHTTPHeaderを出力する必要があります)自分自身)。もちろん、シェル スクリプトで PHP の開始タグと終了タグを使用する必要があります:

ここで、シェル スクリプト言語としての PHP の使用をよりよく理解するために例を見てみましょう:

#!/usr/local/bin/php -q

print(「こんにちは、世界! ");

?>

上記のプログラムは単に「Hello, world!」をモニターに出力するだけです。

1. シェルスクリプトの実行パラメータをPHPに渡します:

シェルスクリプトとしてプログラムを実行する際、パラメータを追加することがよくありますが、PHPには埋め込み配列「$argv」があり、シェル実行時にパラメータを簡単に読み込むことができます。スクリプトが実行中です (「$argv[1]」は最初のパラメータに対応し、「$argv[2]」は 2 番目のパラメータに対応します。以下同様)。たとえば、次のプログラム:

#!/usr/local/bin/php -q

$first_name = $argv[1];

$last_name = $argv[2];

printf("こんにちは、%s %s! 今日はどうですか? "、$first_name、$last_name);

?>

上記のコードは、実行時に 2 つのパラメーター、つまり姓と名を必要とします。たとえば、次のように実行します。

[dbrogdon@artemis dbrogdon]$ scriptname.ph ダレル・ブログドン

シェル スクリプトはモニターに出力されます:

こんにちは、ダレル・ブログドン、今日はどうですか?

[dbrogdon@artemis dbrogdon]$

PHP が動的 Web ページ作成言語として使用される場合、「$argv」配列も含まれますが、いくつかの違いがあります。PHP がシェル スクリプト言語として使用される場合、「$argv[0]」はファイルに対応します。スクリプトの名前。動的 Web ページの書き込みに使用される場合、「$argv[1]」は QueryString の最初のパラメータに対応します。

2. インタラクティブなシェルスクリプトを作成します:

シェルスクリプトが勝手に動くだけで対話性がなくなってしまっては意味がありません。 PHP を使用してシェル スクリプトを作成する場合、ユーザー入力情報を読み取るにはどうすればよいでしょうか? 残念ながら、PHP 自体にはユーザー入力情報を読み取る関数やメソッドがありませんが、他の言語に従ってユーザー入力を読み取る関数を記述することができます。情報「読み取り」:

関数 read() {

$fp = fopen(/dev/stdin, r);

$input = fgets($fp, 255);

fclose($fp);

$input を返す;

}

?>

上記の関数はUnixシステムでのみ使用できることに注意してください(他のシステムは対応する変更を加える必要があります)。上記の関数は、ファイル ポインターを開き、次に 255 バイト以下の行を読み取り (これが fgets の動作です)、その後ファイル ポインターを閉じて、読み取った情報を返します。

これで、関数「read」を使用して、以前に作成したプログラム 1 を変更して、より「インタラクティブ」にすることができます。

#!/usr/local/bin/php -q

関数 read() {

$fp = fopen(/dev/stdin, r);

$input = fgets($fp, 255);

fclose($fp);

$input を返す;

}

print("あなたの名前は何ですか? ");

$first_name = read();

print("あなたの姓は何ですか? ");

$last_name = read();

print(" こんにちは、$first_name $last_name さん、初めまして! ");

?>

上記のプログラムを保存して実行すると、予期しないものが表示されるかもしれません。入力の最後の行が 3 行になります。これは、「read」関数によって返される情報に、末尾の改行文字も含まれているためです。 " は姓名に保持されます。末尾の改行文字を削除するには、「read」関数を変更する必要があります:

関数 read() {

$fp = fopen(/dev/stdin, r);

$input = fgets($fp, 255);

fclose($fp);

$input = Chop($input); // 末尾の空白を削除します

$input を返す;

}

?>

3. PHPで書かれたシェルスクリプトを他の言語で書かれたシェルスクリプトに含める:

場合によっては、PHP で書かれたシェル スクリプトを他の言語で書かれたシェル スクリプトに含める必要がある場合があります。実際には非常に簡単です。簡単な例を次に示します:

#!/bin/bash

echo これはコードの Bash セクションです。

/usr/local/bin/php -q

print("これはコードの PHP セクションです ");

?>

EOF

実際には、PHP を呼び出して次のコードを解析し、出力してから、次のコードをもう一度試します。

#!/bin/bash

echo これはコードの Bash セクションです。

/usr/local/bin/php -q $myVar = PHP;

print("これはコードの $myVar セクションです ");

?>

EOF

2 つのコードの唯一の違いは、2 回目に変数 "$myVar" が使用されていることです。実際に PHP がエラー メッセージを表示します。「解析エラー: 2 行目で解析エラーが発生しました。」 "! これは、Bash の変数も "$myVar" であり、Bash パーサーが最初に変数を置き換えるためです。この問題を解決するには、各 PHP 変数の前にエスケープ文字 "" を追加する必要があるため、コードはは次のように変更されます:

#!/bin/bash

echo これはコードの Bash セクションです。

/usr/local/bin/php -q $myVar = PHP;

print("これはコードの $myVar セクションです ");

?>

http://www.bkjia.com/PHPjc/486117.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486117.html技術記事この方法は最近急遽必要になったので、記録して、時間があるときに試してみてください^^ Linux では、crontab + php メソッドを使用できます: 1. crontab e を使用して、スケジュールされたタスクの内容を次のように編集します: xx:xx:xx 実行...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
什么是linux设备节点什么是linux设备节点Apr 18, 2022 pm 08:10 PM

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

Linux中open和fopen的区别有哪些Linux中open和fopen的区别有哪些Apr 29, 2022 pm 06:57 PM

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

CS玩家的首选:推荐的电脑配置CS玩家的首选:推荐的电脑配置Jan 02, 2024 pm 04:26 PM

1.处理器在选择电脑配置时,处理器是至关重要的组件之一。对于玩CS这样的游戏来说,处理器的性能直接影响游戏的流畅度和反应速度。推荐选择IntelCorei5或i7系列的处理器,因为它们具有强大的多核处理能力和高频率,可以轻松应对CS的高要求。2.显卡显卡是游戏性能的重要因素之一。对于射击游戏如CS而言,显卡的性能直接影响游戏画面的清晰度和流畅度。建议选择NVIDIAGeForceGTX系列或AMDRadeonRX系列的显卡,它们具备出色的图形处理能力和高帧率输出,能够提供更好的游戏体验3.内存电

linux中什么叫端口映射linux中什么叫端口映射May 09, 2022 pm 01:49 PM

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

linux中eof是什么linux中eof是什么May 07, 2022 pm 04:26 PM

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

linux怎么判断pcre是否安装linux怎么判断pcre是否安装May 09, 2022 pm 04:14 PM

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux怎么查询mac地址linux怎么查询mac地址Apr 24, 2022 pm 08:01 PM

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

linux中rpc是什么意思linux中rpc是什么意思May 07, 2022 pm 04:48 PM

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

メモ帳++7.3.1

メモ帳++7.3.1

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。