![](/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.