如何制作 cron 来执行 php 脚本?
How can I make a cron to execute a php script?
我想在我的服务器上每五分钟执行一个 php 脚本,它是一个 php 脚本,它可以单独工作,我尝试过我的浏览器和控制台使用 "php -f php_file.php" .但是我需要每天自动执行它。我在 Google 上搜索并在这里找到它,但任何解决方案都对我有用:
首先,我编辑我的 crontab,然后重新启动 cron 以确保它已正确更新。
*/5 * * * * /usr/bin/php /var/www/myscript.php
我也尝试了以下方法:
*/5 * * * * /usr/bin/php -f /var/www/myscript.php
我也使脚本可执行,查看我的系统日志(我可以看到我的 cron 正在正确执行,但它不执行 php 脚本)并且我还尝试重定向输出cron 到一个文件,但它使文件为空。
谁能帮帮我?
此致
您使脚本可执行的做法是正确的。
如果需要再做一次
$ chmod +x script.php
将此添加到文件的最顶部:
#!/usr/bin/php
<?php
// here goes your script
你可以像这样运行测试脚本是否执行
$ ./script.php
像下面一样设置您的 cron
作业以设置一些日志记录,但请确保您从脚本中输出一些内容,使用 print
或 echo
和相关消息。
*/5 * * * * /var/www/script.php >> /var/www/script.log 2>&1
我们将标准输出和错误都重定向到 script.log
文件中。
每 5 分钟检查一次 activity。
更新:
在您的 php 脚本中试试这个
$file = '/var/www/script.txt';
for($i=0;$i<9;$i++){
$entry = date("Y-m-d H:i:s") . " " . $i . PHP_EOL;
echo $entry; // this should write to the log file
file_put_contents($file, $entry, FILE_APPEND | LOCK_EX);
// and this should write to the script.txt file
}
基本上我们给出文件的完整路径并传递 FILE_APPEND
标志,这样我们就不会每次都覆盖。
运行 脚本并检查文件是否已创建,如果文件不存在则默认行为是创建文件。
我想在我的服务器上每五分钟执行一个 php 脚本,它是一个 php 脚本,它可以单独工作,我尝试过我的浏览器和控制台使用 "php -f php_file.php" .但是我需要每天自动执行它。我在 Google 上搜索并在这里找到它,但任何解决方案都对我有用:
首先,我编辑我的 crontab,然后重新启动 cron 以确保它已正确更新。
*/5 * * * * /usr/bin/php /var/www/myscript.php
我也尝试了以下方法:
*/5 * * * * /usr/bin/php -f /var/www/myscript.php
我也使脚本可执行,查看我的系统日志(我可以看到我的 cron 正在正确执行,但它不执行 php 脚本)并且我还尝试重定向输出cron 到一个文件,但它使文件为空。 谁能帮帮我?
此致
您使脚本可执行的做法是正确的。
如果需要再做一次
$ chmod +x script.php
将此添加到文件的最顶部:
#!/usr/bin/php
<?php
// here goes your script
你可以像这样运行测试脚本是否执行
$ ./script.php
像下面一样设置您的 cron
作业以设置一些日志记录,但请确保您从脚本中输出一些内容,使用 print
或 echo
和相关消息。
*/5 * * * * /var/www/script.php >> /var/www/script.log 2>&1
我们将标准输出和错误都重定向到 script.log
文件中。
每 5 分钟检查一次 activity。
更新:
在您的 php 脚本中试试这个
$file = '/var/www/script.txt';
for($i=0;$i<9;$i++){
$entry = date("Y-m-d H:i:s") . " " . $i . PHP_EOL;
echo $entry; // this should write to the log file
file_put_contents($file, $entry, FILE_APPEND | LOCK_EX);
// and this should write to the script.txt file
}
基本上我们给出文件的完整路径并传递 FILE_APPEND
标志,这样我们就不会每次都覆盖。
运行 脚本并检查文件是否已创建,如果文件不存在则默认行为是创建文件。