php cron job无法正常运行从CLI运行脚本

时间:2016-10-27 07:30:46

标签: php cron

我有一个脚本可以在Suite CRM中驱动某些内容,只需输入php script.php即可从命令行轻松运行。

然而,当我使用cron运行它时,它在行

后失败
echo "Defined sugarEntry\n";

我也试过在require语句中对路径进行硬编码,并尝试过require_once。

我还在/etc/php.ini中设置了相关的包含路径,这是在cron中使用的php。还有什么我想念的吗?

   <?php
        //Don't forget to set the include path in /etc/php.ini
        echo "Start \n";

        set_include_path(get_include_path() . PATH_SEPARATOR . $full_path);

        echo "Include path set to " . get_include_path()."\n";
        //error_reporting(E_ERROR);

        if(!defined('sugarEntry'))
                define('sugarEntry', true);
        echo "Defined sugarEntry\n";

        require(  'include/entryPoint.php');
        echo "Entry point included\n";

        require(  'custom/modules/Accounts/controller.php');

        echo "Include file set\n";

        $controller = new AccountsController();

        echo "AccountsController initialised\n";

        //$controller->debug = true;

        //Loop through all the Accounts records that are a customer
        $controller->sync_all_crm_to_smb();

        echo "Finished\n";

    ?>

1 个答案:

答案 0 :(得分:0)

您没有配置必要的路径,为什么不尝试更简单的方法。 您可以在crontab中执行以下操作:

*/1 * * * * cd <path_to_your_script> & php <script_name>.php

我只使用* / 1 * * * *作为示例。

<path_to_your_script>是通过控制台成功执行脚本的目录的路径。

如果仍然无法解决您的问题,请在您的php脚本中尝试:

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