я успешно установил и настроил laravel-horizon согласно документация
когда я запускаю эту команду php artisan horizon
он выдает ошибку ниже:
Symfony\Component\Debug\Exception\FatalThrowableError : Call to undefined function Laravel\Horizon\Console\pcntl_async_signals()
Когда я открываю http://127.0.0.1:8000/горизонт/приборная панель, статус приборной панели Horizon всегда неактивный
Я использую 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 в моей локальной системе
я работаю на Mac OS 10.13.6
Вы опубликовали php artisan vendor:publish --provider = "Laravel\Horizon\HorizonServiceProvider"?
@HirenGohel, да, я сделал
@SaurabhMistry: Хорошо, похоже, у вас не установлено расширение pcntl из-за ошибки, я думаю, вы можете попробовать установить его?
@HirenGohel, я пытался установить его с помощью composer install --ignore-platform-reqs ext-pcntl ext-posix , но он не работает.
@HirenGohel, я перешел по этой ссылке: stackoverflow.com/questions/48577465/…
@SaurabhMistry, можете ли вы запустить php -i | grep pcntl и убедиться, что pcntl и pcntl support => enabled распечатаны?
@LukaPeharda, я только что попробовал php -i | grep pcntl, ничего не распечаталось, не могли бы вы сказать мне, что мне делать?
@SaurabhMistry, это означает, что вы не устанавливали и не включали pcntl. Попробуйте найти учебник с инструкциями по установке pcntl на XAMPP (похоже, что stackoverflow.com/questions/48577465/… у вас не работает)
@LukaPeharda, я успешно установил composer require ext-pcntl ext-posix, но все равно получаю ту же ошибку






После поиска 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.
Можете ли вы убедиться, что расширение
pcntlустановлено и включено? Вы запускаете это в Windows?