Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

Доброго дня

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

 

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

 

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

 

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

Спасибо

Link to post
Share on other sites

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

а как оно htpasswd то обойдет

 

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

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

Link to post
Share on other sites
31 минуту назад, nikifalex сказал:

 

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

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

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

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

 

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

 

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

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

Link to post
Share on other sites

В 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

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

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

Link to post
Share on other sites

  • 3 weeks later...

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

 

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

Edited by zaharkolezki
Link to post
Share on other sites

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

 

 

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

Link to post
Share on other sites

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

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

 

 

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

 

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

admin revolution/revtheme/do_seo

 

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

Link to post
Share on other sites

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

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

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

 

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

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

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

Link to post
Share on other sites

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

 

 

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

 

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

 

Link to post
Share on other sites
  • 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

 

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

 

Link to post
Share on other sites

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

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

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

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

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

 

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

 

Link to post
Share on other sites

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

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

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

 

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

 

 

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

Цитата

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

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

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

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

 

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

 

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

Link to post
Share on other sites

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

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   

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

Link to post
Share on other sites

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

А при запуске

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

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

вот это похоже на правду. Но вы задайте  этот вопрос автору скрипта

Link to post
Share on other sites
10 часов назад, zaharkolezki сказал:

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

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

 

/usr/bin/php -a

 

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

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

Link to post
Share on other sites

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

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

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

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

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

Link to post
Share on other sites

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

На сколько я понял oc_cli которые по ссылке подходит только под Опенкарт под Оксторе не работает

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

Link to post
Share on other sites
5 часов назад, nikifalex сказал:

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

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

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

Link to post
Share on other sites

Ни кто не запускает под оксторе 2.3 модули из админки кроном?

Поделитесь плиз решением. 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.