我已经按照documentation
成功安装并设置了laravel-horizon。当我运行此命令php artisan horizon
它抛出以下错误:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError:调用 未定义函数Laravel \ Horizon \ Console \ pcntl_async_signals()
当我打开http://127.0.0.1:8000/horizon/dashboard时,地平线仪表板状态始终无效
我正在使用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
答案 0 :(得分:0)
搜索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_profilesource ~/.bash_profile
然后我通过
检查php版本php -v
它将显示在下面:
PHP 7.3.0(CLI)(内置:2018年12月11日01:01:47)(NTS)版权所有(c) 1997-2018年,PHP Group Zend Engine v3.3.0-dev,版权所有(c) 1998-2018年Zend Technologies
然后我检查php -i | grep pcntl
它将显示:
pcntl支持=>启用
所以我尝试运行php artisan horizon
,在启用pcntl之后再次出现相同的错误
我尝试运行composer dump-autoload
,所以出现了新错误
为解决此错误,我在 php.ini 文件
中添加了pcre.jit=0
Applications/XAMPP/xamppfiles/etc/php.ini
通过此链接:https://github.com/composer/composer/issues/7836#issuecomment-447287797
最终从XAMPP重新启动了apache服务器,并运行composer dump-autoload
然后最后一次运行php artisan horizon
给了我更干净的输出
Horizon成功启动。
答案 1 :(得分:0)