Пользовательская команда Artisan в localhost

Это проект Laravel. У меня есть хост разработки на машине Windows (XAMPP) и хост производства / тестирования на Ubuntu (Digital Ocean). Когда я запускаю свою команду на своем локальном хосте, она не жалуется, но ничего не происходит. Та же самая команда на производственном сервере работает как шарм. Логика команды включает в себя множество функций по созданию HTTP-запросов, получению ответов и сохранению их в базе данных. Подключения к базе данных правильные с обеих сторон. Любые идеи? Спасибо!

Упрощенный командный файл

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Http\Request;
use App\PageEngagedUsers;


class MinuteTasks extends Command
{

    protected $signature = 'tasks:min';

    protected $description = 'Does One-Minute Tasks';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        $this->Update();
    }

    public function Update()
    {
        $allPages = Page::all();

        foreach ($allPages as $page) {
            try {    
                        $curl = curl_init();
                        curl_setopt_array($curl, array(
                            CURLOPT_RETURNTRANSFER => 1,
                            CURLOPT_URL => 'https://someurl.com/info?fields=values&featire=1&token=' . $page->token,
                            CURLOPT_USERAGENT => 'Codular Sample cURL Request'
                        ));
                        $response = curl_exec($curl);
                        curl_close($curl);

                        \Log::info($response);
                        \Log::info(json_encode($response));

                        $obj = json_decode($response);
                        $value = $obj->{'data'}[0]->{'values'}[1]->value;

                        $pageEngagedUsers = new PageEngagedUsers;
                        $pageEngagedUsers->value = $value;

                        $page->pageEngagedUsers()->save($pageEngagedUsers);

                        }
                  catch (\Exception $e) {

                  }
        }
    }

}

Бревно

local.INFO:
local.INFO: false

\Log::info($response) ничего не дает. \Log::info(json_encode($response)) дает ложь.

Журнал проверил?

Oluwatobi Samuel Omisakin 23.07.2018 08:46

Используются ли какие-нибудь переменные, содержащие путь? Windows использует обратную косую черту. Хотя ошибки должны быть в лог-файле.

Tpojka 23.07.2018 10:13

Спасибо за ответы! Если вы имеете в виду файл журнала storage \ logs, он не показывает ничего, связанного с выполнением этой команды. Я имею в виду, что он вообще не регистрирует это действие. @Tpojka Нет, пути не используются.

R. g. 23.07.2018 14:44

Очистите файл журнала и повторите попытку. Вы можете поместить \Log::info("Artisan command executed."); в начало метода и проверить, сохранен ли он в журнале.

Tpojka 23.07.2018 15:08

@Tpojka Да, это было зарегистрировано. Ошибок нет.

R. g. 23.07.2018 16:31

Затем опубликуйте код своего файла Artisan. Проблема должна быть там.

Tpojka 23.07.2018 16:50

@Tpojka добавил код. Может быть проблема с завитками?

R. g. 24.07.2018 03:05

Вы пропустили главное, что могло помочь вам отладить ошибку. В блоке захвата установлен \Log::info($e->getMessage());. Перед этим очистите файл журнала и сделайте еще один звонок.

Tpojka 24.07.2018 10:47

@Tpojka Спасибо! В журнале написано: «Попытка получить свойство не-объекта», так что это действительно проблема скручивания. Я попытался записать ответ, но ничего не выдает.

R. g. 24.07.2018 13:31

Удалите весь код после curl_close в блоке try и запишите $response или json_encode($response) (если сначала не работает). Ответ должен быть чем-то вроде, но, вероятно, в следующих строках его структура плохо просматривается / обрабатывается. И если все еще проблема, отредактируйте свой вопрос, разместив $response, если это возможно.

Tpojka 24.07.2018 13:44

@Tpojka Пробовал и редактировал мои вопросы. Спасибо.

R. g. 24.07.2018 14:27

Также попробуйте удалить весь код после функции curl_close(). Оставьте только ведение журнала без каких-либо действий, которые должны быть предприняты из ответа curl. Попробуйте решать одну задачу за раз. Тестовый запрос / ответ API с помощью Postman (или браузера; рекомендуется всегда использовать Postman): что эта ссылка дает вам за пределами Laravel, значения жесткого кода и проверка (https://someurl.com/info?fields=values&featire=1&token=' . $page->token).

Tpojka 24.07.2018 14:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
12
63
0

Другие вопросы по теме