Строка ошибки синтаксического анализа 39 cron.php при запуске из командной строки


Я установил задание cron с помощью cpanel, но обнаружил одну проблему. Мой другой cron работает, как и ожидалось, и он запускает тестовое письмо каждые 5 минут. У меня последняя версия magento 1.7.0.2, и я ничего не изменил с cron.php файл, который был предоставлен вместе с установкой magento.

Когда я пытаюсь запустить /usr/bin/php /full/path/to/htdocs/cron.php с терминала, я получаю ошибку ниже.

<b>Parse error,</b>: syntax error, unexpected T_OBJECT_OPERATOR in <b>/full/path/to/htdocs/cron.php</b> on line <b>39</b><br/>

Я знаю, что есть некоторые проблемы с загрузчиком mage, но cron.php остается нетронутым, и это похоже, что mage не загружается во время работы cron.php через командную строку.

Пожалуйста, помогите мне. Это действительно расстраивает меня.

Кстати, вот cron.php файл.

    <?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to [email protected] so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category   Mage
 * @package    Mage
 * @copyright  Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */

require 'app/Mage.php';

if (!Mage::isInstalled()) {
    echo "Application is not installed yet, please complete install wizard first.";
    exit;
}

// Only for urls
// Don't remove this
$_SERVER['SCRIPT_NAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_NAME']);
$_SERVER['SCRIPT_FILENAME'] = str_replace(basename(__FILE__), 'index.php', $_SERVER['SCRIPT_FILENAME']);

Mage::app('admin')->setUseSessionInUrl(false);

umask(0);

try {
    Mage::getConfig()->init()->loadEventObservers('crontab');
    Mage::app()->addEventArea('crontab');
    Mage::dispatchEvent('default');
} catch (Exception $e) {
    Mage::printException($e);
}

В строке 39, Mage::app('admin')->setUseSessionInUrl(false);. ТИА.

С уважением

Author: Marius, 2013-09-12

1 answers

<b>Parse error,</b>: syntax error, unexpected T_OBJECT_OPERATOR in <b>/full/path/to/htdocs/cron.php</b> on line <b>39</b><br/>

Кстати, вот cron.php файл.

Это кажется маловероятным. Я сохранил исходный файл include cron.php в файл в своей системе и запустил на нем базовый PHP-файл

php -l /path/to/cron.php
No syntax errors detected in /path/to/cron.php

Ошибка, которую вы получаете, - это Parse Error. Это означает, что PHP не выполняется, потому что синтаксис кода полностью неверен.

Я бы проверил

  1. Что ваша версия PHP не является какой-то древней версией PHP 4 ($ php -v)
  2. Что версия cron.php, которую вы используете для ошибки используется та же версия cron.php, которую вы рассматриваете для отладки.
 6
Author: Alan Storm, 2013-09-12 21:56:58