php cron job不工作从CLI运行脚本工作正常


php cron job not working running script from CLI works fine

我有一个脚本,它驱动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";
    ?>

与其配置必要的路径,不如尝试用一种更简单的方法。您可以在crontab中执行以下操作:

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

我使用*/1 * * * *只是为了这个例子。

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

如果这仍然不能解决你的问题,试试在你的php脚本:

 #!/usr/local/bin/php
 <?php
 .......
相关文章: