Laravel Horizon выдает ошибку: вызов неопределенной функции Laravel\Horizon\Console\pcntl_async_signals()

я успешно установил и настроил laravel-horizon согласно документация

когда я запускаю эту команду php artisan horizon

он выдает ошибку ниже:

Symfony\Component\Debug\Exception\FatalThrowableError : Call to undefined function Laravel\Horizon\Console\pcntl_async_signals()

Laravel Horizon выдает ошибку: вызов неопределенной функции Laravel\Horizon\Console\pcntl_async_signals()

Когда я открываю http://127.0.0.1:8000/горизонт/приборная панель, статус приборной панели Horizon всегда неактивный

Laravel Horizon выдает ошибку: вызов неопределенной функции Laravel\Horizon\Console\pcntl_async_signals()

Я использую XAMPP, PHP версии 7.3.0, Laravel версии 5.7

Я перешел по этой ссылке: https://github.com/laravel/horizon/issues/154#issuecomment-366712260

composer require ext-pcntl ext-posix

вот композитор:

"require": {
        "php": "^7.1.3",
        "ext-pcntl": "^7.2",
        "ext-posix": "^7.2",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/horizon": "^2.0",
        "laravel/socialite": "^4.0",
        "laravel/tinker": "^1.0",
        "predis/predis": "^1.1",
    },

Я ищу так много вопросов, но безуспешно, также пробовал composer update --ignore-platform-reqs, но все равно не работает.

кто-нибудь, пожалуйста, помогите мне запустить Laravel Horizon в моей локальной системе

Можете ли вы убедиться, что расширение pcntl установлено и включено? Вы запускаете это в Windows?

Luka Peharda 07.02.2019 07:07

я работаю на Mac OS 10.13.6

Saurabh Mistry 07.02.2019 07:10

Вы опубликовали php artisan vendor:publish --provider = "Laravel\Horizon\HorizonServiceProvider"?

Hiren Gohel 07.02.2019 07:12

@HirenGohel, да, я сделал

Saurabh Mistry 07.02.2019 07:13

@SaurabhMistry: Хорошо, похоже, у вас не установлено расширение pcntl из-за ошибки, я думаю, вы можете попробовать установить его?

Hiren Gohel 07.02.2019 07:15

@HirenGohel, я пытался установить его с помощью composer install --ignore-platform-reqs ext-pcntl ext-posix , но он не работает.

Saurabh Mistry 07.02.2019 07:19

@HirenGohel, я перешел по этой ссылке: stackoverflow.com/questions/48577465/…

Saurabh Mistry 07.02.2019 07:19

@SaurabhMistry, можете ли вы запустить php -i | grep pcntl и убедиться, что pcntl и pcntl support => enabled распечатаны?

Luka Peharda 07.02.2019 07:24

@LukaPeharda, я только что попробовал php -i | grep pcntl, ничего не распечаталось, не могли бы вы сказать мне, что мне делать?

Saurabh Mistry 07.02.2019 07:25

@SaurabhMistry, это означает, что вы не устанавливали и не включали pcntl. Попробуйте найти учебник с инструкциями по установке pcntl на XAMPP (похоже, что stackoverflow.com/questions/48577465/… у вас не работает)

Luka Peharda 07.02.2019 07:32

@LukaPeharda, я успешно установил composer require ext-pcntl ext-posix, но все равно получаю ту же ошибку

Saurabh Mistry 07.02.2019 08:34
Стоит ли изучать 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 и хотите разрабатывать...
4
11
6 748
2

Ответы 2

После поиска 2 часов, наконец, я решил ошибку:

Поскольку я использую XAMPP, мне нужно установить PATH в файле bash_profile, чтобы использовать XAMPP php 7.3.0.

поэтому я добавил это в

sudo nano ~/.bash_profile

export XAMPP_HOME=/Applications/XAMPP
export PATH=${XAMPP_HOME}/bin:${PATH}

затем перезагрузите bash_profile, используя ,

source ~/.bash_profile

затем я проверяю версию php с помощью

php -v

он будет отображаться ниже:

PHP 7.3.0 (cli) (built: Dec 11 2018 01:01:47) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies

затем я проверяю php -i | grep pcntl

он будет отображать:

pcntl support => enabled

поэтому я пытаюсь запустить php artisan horizon, снова получаю ту же ошибку после включения pcntl

я пытался запустить composer dump-autoload, поэтому получил новую ошибку

поэтому для решения этой ошибки я добавил pcre.jit=0 в файл php.ini

Applications/XAMPP/xamppfiles/etc/php.ini

по этой ссылке: https://github.com/composer/composer/issues/7836#issuecomment-447287797

наконец, перезапустил сервер apache из XAMPP и запустил composer dump-autoload

затем последний запуск php artisan horizon дает мне более чистый вывод, например

Horizon started successfully.

Эта ошибка не имеет отношения к laravel и Horizon.
pcntl_async_signals() — это php-метод ссылка. чтобы включить PCNTL, вы должны скомпилировать php с pcntl
если вы используете DirectAdmin в качестве панели управления, вы можете использовать эту инструкцию: Нажмите здесь!

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