gpt4 book ai didi

php - Cron Job PHP 脚本失败,但脚本将通过 CLI 或浏览器运行

转载 作者:太空宇宙 更新时间:2023-11-04 11:11:36 25 4
gpt4 key购买 nike

我有几个我正在尝试设置的 php 脚本(最近移动到一个新服务器)它们将从命令行和浏览器运行,但只有一个会通过 cron 运行,另一个似乎有权限问题,如果该文件设置为 644 我从 cron 收到此消息:/bin/sh:/home/xyz/public_html/scripts/update-script.php: 权限被拒绝

如果我将权限设置为 777,我会收到此消息:

/home/xyz/public_html/scripts/update-script.php: 第 1 行:?php: 没有那个文件或目录

/home/xyz/public_html/scripts/update-script.php:第 2 行:意外标记“includes/clsDatabase-list.php”附近的语法错误

/home/xyz/public_html/scripts/update-script.php:第 2 行:`require_once("includes/clsDatabase-list.php");'

但是该脚本是从命令行和浏览器运行的,我有另一个脚本几乎与这个脚本相同(在第 1 行调用相同的包含,位于完全相同的文件夹中)将通过 cron 运行!所以我知道我在 Cpanel 中设置的路径和 cron 作业是正确的。如果我在命令行中复制工作版本,复制的版本也无法通过 cron 运行。谢谢!

最佳答案

您需要在您的文件中添加一个 shebang 才能直接执行它:

#!/usr/bin/env php
<?php
//...

另一种选择是在您的 cronjob 中这样调用它:

* * * * * php /home/xyz/public_html/scripts/update-script.php

当然,除非您希望它每分钟运行一次,否则您会用实际的 crontab 数据替换 * * * * *

关于php - Cron Job PHP 脚本失败,但脚本将通过 CLI 或浏览器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22864353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com