Bashスクリプトを使用して実行したいphpスクリプトがあるので、Cronを使用して1分ごとにphpスクリプトを実行できます。
私の知る限り、PHPスクリプトを処理するbashスクリプトを作成する必要があります。これにより、Cronツール/タイマーを使用できるようになります。
これまでのところ、私は置く必要があると言われました:
#!/pathtoscript/testphp.php
私のphpスクリプトの開始時に。ここから何をすべきかわからない...
何かアドバイス?ありがとう。
PHP=コマンドラインツールとしてインストールされている場合(端末にphp
を発行して、動作するかどうかを確認してください)、Shebang(#!
)行が必要です。このように見える:
#!/usr/bin/php
それをスクリプトの先頭に置き、実行可能(chmod +x myscript.php
)にし、Cronジョブを作成してそのスクリプトを実行します(bashスクリプトを実行するのと同じ方法)。
php myscript.php
を使用することもできます。
#!/usr/bin/env bash
PHP=`which php`
$PHP /path/to/php/file.php
前のポスターは言った..
PHPコマンドラインツールとしてインストールされている場合... Shebang(#!)行は次のように見える必要があります:
#!/usr/bin/php
これはcould trueであるが、php
を入力できるからといって、必ずしもphpがどこにあるかを意味するわけではない... /usr/bin/php
は一般的な場所…他のシバンと同様に…あなたのenv
に合わせて調整する必要があります。
特定の実行可能ファイルが$PATH
にある場所を見つける簡単な方法、試してみてください。which -a php
ENTER、私にとっては….
php is /usr/local/php5/bin/php
php is /usr/bin/php
php is /usr/local/bin/php
php is /Library/WebServer/CGI-Executables/php
最初のものは、コマンドプロンプトでphpを入力した場合に取得するデフォルトです...しかし、Shebangで使用することも、直接使用することもできます...実行可能ファイル名をenv
よく見られますが、/ trust thatについてはあまり知りません。 XO XO。
あなただけを設定する必要があります:
/usr/bin/php path_to_your_php_file
crontabで。
このようなものがあなたが探しているものだと確信しています:
#!/bin/sh
php /pathToScript/script.php
目的のスクリプト名(runPHP.shなど)で保存し、実行権限を付与すると、好きなように使用できます。
編集:間違っていなければ、bashスクリプトをまったく使用せずに、「php ...」コマンドをcrontabに追加することもできます。
幸運を!
Bashスクリプトは次のようになります。
#!/bin/bash
/usr/bin/php /path/to/php/file.php
実行可能ファイル(通常は/ usr/binにあります)および実行するphpスクリプトのパスが必要です。これで、このbashスクリプトをcrontabに配置するだけで完了です!
特定の実行可能ファイルが$ PATHにある場所を簡単に見つける方法を試してください。
php
がどこにあるかを見つけるより簡単な方法...
whereis php
私はdebian
以上のコマンドを実行しています
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
お役に立てば幸いです。
Phpスクリプトを実行する以外にbashスクリプトで何もしない場合は、/ usr/bin/php /path/to/your/file.phpなどのコマンドを使用して、cronからphpスクリプトを実行するだけで済みます。
サーバーでphp-cgiを見つけました。そしてその環境パス上で、どこからでも走ることができました。成功しましたfile.php
私のbashスクリプトで。
#!/bin/bash
php-cgi ../path/file.php
そして、スクリプトはphpスクリプトが実行された後にこれを返しました:
X-Powered-By:PHP/7.1.1コンテンツタイプ:text/html; charset = UTF-8
できました!
ところで、コマンドphp-cgi -v