Jump to content
Sign in to follow this  
zaharkolezki

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

Recommended Posts

Доброго дня

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

 

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

 

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

 

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

Спасибо

Share this post


Link to post
Share on other sites

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

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

Share this post


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

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

 

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

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

Share this post


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

 

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

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

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

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

 

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

 

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

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Edited by zaharkolezki

Share this post


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

 

 

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

Share this post


Link to post
Share on other sites
Только что, Dotrox сказал:

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

 

 

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

 

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

admin revolution/revtheme/do_seo

 

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

Share this post


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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

 

 

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

 

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

 

Share this post


Link to post
Share on other sites

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

 

 

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

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

 

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

 

Share this post


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.

 

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

 

Share this post


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   

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


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

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

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

 

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

 

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

Share this post


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   

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

Share this post


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   

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

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

Share this post


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

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

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

 

/usr/bin/php -a

 

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.