![](/img/trans.png)
[英]pcntl_async_signals() has been disabled for security reasons || Ubuntu 16 - Laravel 5.6
[英]Laravel Horizon throws error : Call to undefined function Laravel\Horizon\Console\pcntl_async_signals()
我已经按照文档成功安装并设置了 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
经过2小时的搜索,我终于解决了错误:
由于我使用XAMPP,我必须在bash_profile
文件中设置PATH
才能使用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)(内置:2018年12月11日01:01:47)(NTS)版权所有(c)1997-2018 The PHP Group Zend Engine v3.3.0-dev,版权所有(c)1998-2018 Zend Technologies
然后我检查php -i | grep pcntl
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成功启动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.