Кто-нибудь, пожалуйста, помогите мне
Домен: Годадди
Хостинг: VPS сервер
Сервер имен: MNS01.DOMAINCONTROL.COM
Сервер имен: MNS02.DOMAINCONTROL.COM
Ниже приведены тестовые сценарии, которые я сделал и получил результат.
Для файла cron.php дал разрешение 777
Минуты Час День Месяц День недели установлен на * * * * *
Тест 1:
/home/domain/public_html/cron.php
Result:
/home/domain/public_html/cron.php: line 1: ?php: No such file or directory
/home/domain/public_html/cron.php: line 2: syntax error near unexpected token `dirname'
/home/domain/public_html/cron.php: line 2: `chdir(dirname(__FILE__));'
Тест 2:
/ usr / bin / php -q /home/domain/public_html/cron.php
Result:
Nothing display
Тест 3:
php -q /home/domain/public_html/cron.php
Result:
Nothing display
Тест 4:
/ usr / bin / php /home/domain/public_html/cron.php
Result:
X-Powered-By: PHP/5.4.33
Content-type: text/html
Тест 5:
ПОЛУЧИТЬ https://www.domain.com/cron.php
Result:
LWP will support https URLs if the LWP::Protocol::https module
is installed.
Тест 6:
ПОЛУЧИТЬ http://www.domain.com/cron.php
Result:
Nothing display
Тест 7:
Я заменил над всеми тестами cron.php, заменил на cron.sh и протестировал. Получил тот же результат.
Тест 8:
/home/domain/public_html/test.php
code:
<?php echo "hello world";?>
Result:
/home/domain/public_html/cron.php: line 1: ?php: No such file or directory
hello world
Я не смог заставить работать ни одно из вышеперечисленных предложений, но пришел к собственному решению.
У меня был сайт Magento на выделенном сервере, который я переместил на общий веб-хостинг Cpanel (VentraIP) — и не смог заставить работать cron. Я видел ошибки PHP Notice: неопределенный индекс: SCRIPT_FILENAME и PHP Notice: неопределенный индекс: SCRIPT_NAME. В итоге я изменил файл cron.php (переименованный в cron_for_cpanel.php) следующим образом:
chdir(dirname(__FILE__));
require 'app/bootstrap.php';
require 'app/Mage.php';
if (!Mage::isInstalled()) {
echo "Application is not installed yet, please complete install wizard first.";
exit;
}
Mage::app('admin')->setUseSessionInUrl(false);
umask(0);
try {
Mage::getConfig()->init()->loadEventObservers('crontab');
Mage::app()->addEventArea('crontab');
Mage::dispatchEvent('always');
Mage::dispatchEvent('default');
} catch (Exception $e) {
Mage::printException($e);
exit(1);
}
Крон в Cpanel был тогда:
/usr/bin/php -q /home/username/public_html/cron_for_cpanel.php
Вы должны использовать cron.sh
файл через командную строку (не GET
) и укажите sh
дорожка
/bin/sh /home/domain/public_html/cron.sh
если ваш сайт работал, попробуйте перекомпилировать Apache и PHP с EasyApache.
Если перекомпиляция не работает, вы можете попробовать обновить LWP вручную (подумав об этой ошибке: LWP будет поддерживать URL-адреса https, если установлен модуль LWP :: Protocol :: https.)
wget http://cpan.uwinnipeg.ca/cpan/authors/id/G/GA/GAAS/libwww-perl-5.812.tar.gz
tar xzf libwww-perl-5.812.tar.gz
cd libwww-perl-5.812
perl Makefile.PL
make
make test
make install
Новый / Лучший код обновления:
rpm -qi perl-libwww-perl
/scripts/realperlinstaller --force LWP
Наконец я получил результат ..
php -q /home/username/public_html/cron.php
или же
php -f /home/username/public_html/cron.php
или же
php-cli -f /home/username/public_html/cron.php
Ссылка:
http://support.hostgator.com/articles/cpanel/what-do-i-put-for-the-cron-job-command