Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Открытие линка из админки по крон


zaharkolezki

Recommended Posts

Доброго дня

Нужно ежедневно открывать один из линков внутри админки (линк запускает скрипт модуля). Линк вида:

 

ссылка /admin/index.php?modul123

 

Видится что нужно сделать задание в кроне. НО есть проблема - линк безусловно не откроется с крона тк требуется во первых авторизация в админке + стоит пароль на доступ в админку через .htpasswd. Тоесть двойная авторизация.

 

Как можно это все организовать и можно ли вообще это осуществить?

Спасибо

Надіслати
Поділитися на інших сайтах


1 час назад, nikifalex сказал:

1) ссылка супер странная конечно. не опенкарта вообще.

2) https://github.com/iSenseLabs/oc_cli

 

Благодарю, а как оно htpasswd то обойдет :)

Надіслати
Поділитися на інших сайтах


31 минуту назад, nikifalex сказал:

 

т.е. вы не прочитали описание и вообще не в курсе что и как работает на сервере?

Ну попробуйте тогда хотя бы

Я прочитал и перевел и даже понял, насколько хватило знаний

В крон вставляю линк

 

$ php ./oc_cli.php https://www.**.ru/admin/index.php?route=***

 

И ничего не происходит) В силу того что не очень разбираюсь во всем этом, но согласно мануалам примерно както так

Буду благодарен если поправите

Надіслати
Поділитися на інших сайтах


В 20.05.2019 в 17:51, zaharkolezki сказал:

но согласно мануалам примерно както так

Примерно так же, как сахар солью заменить - на глаз же одинаково.

 

Цитата

$ php ./oc_cli.php [APP] [ROUTE] [param1] [param2] ...

[APP] stands for the application you will run. It can take exactly one of the following values:

  • catalog : this will run [ROUTE] from your front-end OpenCart catalog
  • name-of-admin-dir : this will run [ROUTE] in your admin panel

[ROUTE] : the route you wish to execute, for example: oc_cli/welcome

[param1], [param2] : Optional parameters which you may pass to your controllers.

 

И там ведь даже примеры есть:

Цитата

$ php ./oc_cli.php catalog common/home/test
$ php ./oc_cli.php admin module/test/cron_task
$ php ./oc_cli.php catalog oc_cli/welcome/hello FooBar

 

Так откуда у вас там появилась полная ссылка на сайт?

 

Но вот тут:

Цитата

./oc_cli.php

Должен быть реальный путь к файлу в корневой директории сайта (соответственно, и файл должен лежать там).

Путь спрашивайте у хостера.

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

на примере опенкарта как должен выглядеть линк исполнения из админки? 

 

admin  index.php?route=revolution/revtheme/do_seo   - явно ведь не так

Змінено користувачем zaharkolezki
Надіслати
Поділитися на інших сайтах


44 минуты назад, zaharkolezki сказал:

на примере опенкарта как должен выглядеть линк исполнения из админки? 

На примере ОпенКарта (а на другом примере и не получится, ибо модуль именно под ОК и ничего больше) я уже написал в сообщении выше:

 

В 26.05.2019 в 15:27, Dotrox сказал:

И там ведь даже примеры есть:

Цитата


$ php ./oc_cli.php catalog common/home/test
$ php ./oc_cli.php admin module/test/cron_task
$ php ./oc_cli.php catalog oc_cli/welcome/hello FooBar

 

 

Вы ведь видите, что там указан только роут, а не полная ссылка?

Надіслати
Поділитися на інших сайтах


Только что, Dotrox сказал:

На примере ОпенКарта (а на другом примере и не получится, ибо модуль именно под ОК и ничего больше) я уже написал в сообщении выше:

 

 

Вы ведь видите, что там указан только роут, а не полная ссылка?

 

Я это прекрасно вижу. У меня есть ссылка запускающая обработку сео в шаблоне. На примерах выше я вижу что должен быть просто путь, а не сссылка НО если указывать так

admin revolution/revtheme/do_seo

 

То такого пути впринципе нет на карте моего сайта, отсюда и тупой вопрос как оно должно работать если даже папок таких нет. =)

Надіслати
Поділитися на інших сайтах


12 минут назад, zaharkolezki сказал:

То такого пути впринципе нет на карте моего сайта

И не должно быть! Это уже забота модуля найти где оно.

 

13 минут назад, zaharkolezki сказал:

если даже папок таких нет

Если в контроллерах админки нет папки revolution, то оно у вас и без крона работать не должно с таким роутом.

Надіслати
Поділитися на інших сайтах


Здравствуйте, когда то запускал модуль из админки кроном с помощью этого модуля

 

 

пришлось конечно заморочиться, что то тогда немного дописывал (давно это было, не помню), но в принципе даже параметры функций в контроллер модуля передавал

 

посмотрите, может этот вариант Вам подойдет.

 

Надіслати
Поділитися на інших сайтах

  • 4 weeks later...

Так и не решил проблему =(((

 

 

Техподдержка сервера тоже не помогла, лишь сказала использовать синтаксис в кроне такого плана:

usr/bin/wget -O https://www.site.ru/admin/index.php?route=revolution/revtheme/do_seo

 

я прописал с учетом фака

/var/www/user2839/data/www/site.ru/oc_cli.php admin revolution/revtheme/do_seo

 

НО все равно не работает. Уже не понимаю что прописать, не шарю вообще, перечитал все что можно. Помогите пожалуйста

 

Надіслати
Поділитися на інших сайтах


11 минут назад, zaharkolezki сказал:

я прописал с учетом фака

/var/www/user2839/data/www/site.ru/oc_cli.php admin revolution/revtheme/do_seo

Вы забыли вызов интерпретатора php! Он должен быть первым в строке и поддержка должна была вам сказать, какой путь прописывать для его вызова.

Можете попробовать usr/bin/php.

 

А то, что они вам предложили - это вызов путём имитации браузера. Есть целый ряд причин почему такой вариант хуже. Но в вашем случае такой вариант просто не будет работать, ибо будет требовать авторизации в админке.

 

Надіслати
Поділитися на інших сайтах


2 часа назад, Dotrox сказал:

Вы забыли вызов интерпретатора php! Он должен быть первым в строке и поддержка должна была вам сказать, какой путь прописывать для его вызова.

Можете попробовать usr/bin/php.

 

А то, что они вам предложили - это вызов путём имитации браузера. Есть целый ряд причин почему такой вариант хуже. Но в вашем случае такой вариант просто не будет работать, ибо будет требовать авторизации в админке.

 

 

Ладно, спасибо Вам за помощь и вообще внимание к теме. Промучался более месяца - что только не пробовал. Не работает и все тут.

Цитата

/usr/bin/php /var/www/user2839/data/www/site.ru/oc_cli.php admin revolution/revtheme/do_seo   

- как я понял итоговый вид строки (нахождение пхп интерпр верное). Всеравно не работает, просто тупо ничего не меняется. Где хотябы ошибки увидеть понятия не имею. Проще забить на проблему - всеравно ничего не выходит

Надіслати
Поділитися на інших сайтах


Только сейчас дошло в чем проблема похоже. Структура открываемого линка имеет вид revolution/revtheme/do_seo, где папки только revolution/revtheme/, а do_seo походу ищется уже в самом файле внутри. Да только вот автор шаблона все закодил ионкубом и без авторизации в админке оно тупо не будет срабатывать.

 

Походу надо делать скрипт с юзер-пасом для вохода в админку и открытием линка, подругому хз как

Надіслати
Поділитися на інших сайтах


2 минуты назад, zaharkolezki сказал:

а do_seo походу ищется уже в самом файле внутри.

Да, это метод внутри файла, но он там не "ищется", то есть исходный код файла не парсится библиотекой oc_cli в поисках этого метода - это выполняет интерпретатор php, который использует ИонКуб лоадер. Проще говоря, если этот метод запускается при обычной работе с админкой, то и по крону будет тоже запускаться и ИонКуб помехой не станет.

 

Для начала нужно понять запускается ли сам oc_cli. если хостер рекомендовал wget, возможно, на хостинге вообще выключен cli режим у php.

 

Спросите у хостера напрямую: "возможно ли запустить php скрипт по крону через cli?" Если да, то пусть напишут пример запуска.

Надіслати
Поділитися на інших сайтах


Хостер сказал что все должно работать и запрос верный

19 часов назад, zaharkolezki сказал:
Цитата

/usr/bin/php /var/www/user2839/data/www/site.ru/oc_cli.php admin revolution/revtheme/do_seo   

 

 

Как я могу вообще узнать возможную причину? может лог где хранится. В данный момент я просто вставляю эту строку в крон на ближ время и смотрю переименовались ли линки на сеошные, тк ничего не меняется делаю вывод что не срабатывает. Но причина то может крыться где угодно

 

Так на всякий случай если поможет както....

Еще в панели управления у меня есть возможность запускать запросы через шелл. Так вот при запуске

/usr/bin/php /var/www/user2839/data/www/site.ru/oc_cli.php admin revolution/revtheme/

Открывается текст файла

А при запуске

/usr/bin/php /var/www/user2839/data/www/site.ru/oc_cli.php admin revolution/revtheme/do_seo   

Не происходит вообще ничего.   

Надіслати
Поділитися на інших сайтах


10 часов назад, zaharkolezki сказал:

Еще в панели управления у меня есть возможность запускать запросы через шелл.

Запустите там такую команду:

 

/usr/bin/php -a

 

Если у вас откроется консоль php, значит проблема в коде, который вы пытаетесь запустить.

Если консоль не откроется, значит проблема в php: либо путь к интерпретатору неправильный, либо консоль на хостинге запрещена. В обоих случаях дёргайте хостера.

Надіслати
Поділитися на інших сайтах


  • 1 year later...
В 20.05.2019 в 13:35, nikifalex сказал:

1) ссылка супер странная конечно. не опенкарта вообще.

2) https://github.com/iSenseLabs/oc_cli

Доброго времени суток. На сколько я понял oc_cli которые по ссылке подходит только под Опенкарт под Оксторе не работает.

Может кто подскажет где взять под оксторе 2.3.

Надіслати
Поділитися на інших сайтах


5 часов назад, nikifalex сказал:

на основании чего были сделаны такие далеко идущие выводы?

1. Установил не работает

2. Сам автор написал что только для опенкарт https://github.com/iSenseLabs/oc_cli/issues/1

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.