検索
ホームページバックエンド開発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交叉编译什么是linux交叉编译Apr 29, 2022 pm 06:47 PM

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

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地址。

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

ホットツール

mPDF

mPDF

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン